├── FreeNet ├── DefaultMessageResolver.cs ├── DefaultPacketDispatcher.cs ├── DoubleBufferingQueue.cs ├── FastBinaryRead.cs ├── FastBinaryWrite.cs ├── FreeNet.csproj ├── FreeNet.sln ├── ILogicQueue.cs ├── IMessageResolver.cs ├── IPacket.cs ├── IPacketDispatcher.cs ├── Listener.cs ├── NetworkDefine.cs ├── NetworkService.cs ├── Packet.cs ├── ReserveClosingProcess.cs ├── ServerOption.cs ├── Session.cs ├── SessionManager.cs ├── SocketAsyncEventArgsPool.cs ├── SocketOption.cs └── TCPConnector.cs ├── README.md ├── Samples ├── EchoClient │ ├── ClientSimpleTcp.cs │ ├── DevLog.cs │ ├── EchoClient.csproj │ ├── EchoClient.sln │ ├── Program.cs │ ├── Protocol.cs │ └── RemoteServerPeer.cs ├── EchoServer │ ├── EchoServer.csproj │ ├── EchoServer.sln │ ├── GameUser.cs │ ├── PacketProcess.cs │ ├── Program.cs │ └── Protocol.cs └── EchoServerIOThreadPacketProcess │ ├── EchoServerIOThreadPacketProcess.csproj │ ├── EchoServerIOThreadPacketProcess.sln │ ├── GameUser.cs │ ├── IoThreadPacketDispatcher.cs │ ├── Program.cs │ └── Protocol.cs ├── documents ├── class_struct.png ├── class_struct_en.png ├── logic_thread.png ├── logic_thread_en.png ├── send.png ├── send_en.png ├── struct.png ├── struct_en.png ├── worker_thread.png └── worker_thread_en.png └── viruswar ├── client ├── Assets │ ├── Canvas.prefab │ ├── Canvas.prefab.meta │ ├── FreeNet.meta │ ├── FreeNet │ │ ├── CFreeNetEventManager.cs │ │ ├── CFreeNetEventManager.cs.meta │ │ ├── CFreeNetUnityService.cs │ │ ├── CFreeNetUnityService.cs.meta │ │ ├── CRemoteServerPeer.cs │ │ ├── CRemoteServerPeer.cs.meta │ │ ├── FreeNet.dll │ │ └── FreeNet.dll.meta │ ├── images.meta │ ├── images │ │ ├── go_01.png │ │ ├── go_01.png.meta │ │ ├── stop_noti.png │ │ ├── stop_noti.png.meta │ │ ├── win.png │ │ └── win.png.meta │ ├── resources.meta │ ├── resources │ │ ├── font.meta │ │ └── font │ │ │ ├── BMHANNA_11yrs_ttf.ttf │ │ │ └── BMHANNA_11yrs_ttf.ttf.meta │ ├── scripts.meta │ ├── scripts │ │ ├── State.meta │ │ └── State │ │ │ ├── CMessageDispatcher.cs │ │ │ ├── CMessageDispatcher.cs.meta │ │ │ ├── CStateCreateNewObject.cs │ │ │ ├── CStateCreateNewObject.cs.meta │ │ │ ├── CStateManager.cs │ │ │ ├── CStateManager.cs.meta │ │ │ ├── CStateSingleObject.cs │ │ │ ├── CStateSingleObject.cs.meta │ │ │ ├── IState.cs │ │ │ ├── IState.cs.meta │ │ │ ├── IStateObjectGenerationType.cs │ │ │ └── IStateObjectGenerationType.cs.meta │ ├── viruswar.meta │ └── viruswar │ │ ├── Resources.meta │ │ ├── Resources │ │ ├── images.meta │ │ ├── images │ │ │ ├── blank.png │ │ │ ├── blank.png.meta │ │ │ ├── blue.png │ │ │ ├── blue.png.meta │ │ │ ├── blue_playing.png │ │ │ ├── blue_playing.png.meta │ │ │ ├── border.png │ │ │ ├── border.png.meta │ │ │ ├── border_line.png │ │ │ ├── border_line.png.meta │ │ │ ├── cancel_x.png │ │ │ ├── cancel_x.png.meta │ │ │ ├── draw.png │ │ │ ├── draw.png.meta │ │ │ ├── focus.png │ │ │ ├── focus.png.meta │ │ │ ├── gameboard.png │ │ │ ├── gameboard.png.meta │ │ │ ├── gameboard_bg.png │ │ │ ├── gameboard_bg.png.meta │ │ │ ├── gray_transparent.png │ │ │ ├── gray_transparent.png.meta │ │ │ ├── graycell.png │ │ │ ├── graycell.png.meta │ │ │ ├── info.png │ │ │ ├── info.png.meta │ │ │ ├── lose.png │ │ │ ├── lose.png.meta │ │ │ ├── me.png │ │ │ ├── me.png.meta │ │ │ ├── n00.png │ │ │ ├── n00.png.meta │ │ │ ├── n01.png │ │ │ ├── n01.png.meta │ │ │ ├── n02.png │ │ │ ├── n02.png.meta │ │ │ ├── n03.png │ │ │ ├── n03.png.meta │ │ │ ├── n04.png │ │ │ ├── n04.png.meta │ │ │ ├── n05.png │ │ │ ├── n05.png.meta │ │ │ ├── n06.png │ │ │ ├── n06.png.meta │ │ │ ├── n07.png │ │ │ ├── n07.png.meta │ │ │ ├── n08.png │ │ │ ├── n08.png.meta │ │ │ ├── n09.png │ │ │ ├── n09.png.meta │ │ │ ├── other.png │ │ │ ├── other.png.meta │ │ │ ├── playagain.png │ │ │ ├── playagain.png.meta │ │ │ ├── red.png │ │ │ ├── red.png.meta │ │ │ ├── red_playing.png │ │ │ ├── red_playing.png.meta │ │ │ ├── title_blue.png │ │ │ ├── title_blue.png.meta │ │ │ ├── waiting.png │ │ │ ├── waiting.png.meta │ │ │ ├── white.png │ │ │ ├── white.png.meta │ │ │ ├── win.png │ │ │ ├── win.png.meta │ │ │ ├── yes.png │ │ │ └── yes.png.meta │ │ ├── prefabs.meta │ │ └── prefabs │ │ │ ├── blue.prefab │ │ │ ├── blue.prefab.meta │ │ │ ├── border.prefab │ │ │ ├── border.prefab.meta │ │ │ ├── character_border.prefab │ │ │ ├── character_border.prefab.meta │ │ │ ├── red.prefab │ │ │ ├── red.prefab.meta │ │ │ ├── touchable_area.prefab │ │ │ └── touchable_area.prefab.meta │ │ ├── scenes.meta │ │ ├── scenes │ │ ├── play.unity │ │ └── play.unity.meta │ │ ├── scripts.meta │ │ └── scripts │ │ ├── CHelper.cs │ │ ├── CHelper.cs.meta │ │ ├── CNetworkManager.cs │ │ ├── CNetworkManager.cs.meta │ │ ├── CPlayer.cs │ │ ├── CPlayer.cs.meta │ │ ├── CPlayerAgent.cs │ │ ├── CPlayerAgent.cs.meta │ │ ├── CPlayerRenderer.cs │ │ ├── CPlayerRenderer.cs.meta │ │ ├── effect.meta │ │ ├── effect │ │ ├── CRotator.cs │ │ ├── CRotator.cs.meta │ │ ├── CScaleController.cs │ │ └── CScaleController.cs.meta │ │ ├── play.meta │ │ ├── play │ │ ├── CBorderViewer.cs │ │ ├── CBorderViewer.cs.meta │ │ ├── CGameWorld.cs │ │ ├── CGameWorld.cs.meta │ │ ├── CVirus.cs │ │ ├── CVirus.cs.meta │ │ ├── room_state.meta │ │ └── room_state │ │ │ ├── CBattleRoomGameOverState.cs │ │ │ ├── CBattleRoomGameOverState.cs.meta │ │ │ ├── CBattleRoomReadyState.cs │ │ │ ├── CBattleRoomReadyState.cs.meta │ │ │ ├── CBattleRoomTurnPlayingState.cs │ │ │ ├── CBattleRoomTurnPlayingState.cs.meta │ │ │ ├── CBattleRoomWaitState.cs │ │ │ └── CBattleRoomWaitState.cs.meta │ │ ├── protocol.cs │ │ ├── protocol.cs.meta │ │ ├── public.meta │ │ ├── public │ │ ├── CCameraAspectRatio.cs │ │ ├── CCameraAspectRatio.cs.meta │ │ ├── CGameObjectPool.cs │ │ ├── CGameObjectPool.cs.meta │ │ ├── CSingleton.cs │ │ ├── CSingleton.cs.meta │ │ ├── EasingUtil.cs │ │ ├── EasingUtil.cs.meta │ │ ├── MiniJSON.cs │ │ └── MiniJSON.cs.meta │ │ ├── ui.meta │ │ └── ui │ │ ├── CBattleRoom.cs │ │ ├── CBattleRoom.cs.meta │ │ ├── CButtonAction.cs │ │ ├── CButtonAction.cs.meta │ │ ├── CMainMenu.cs │ │ ├── CMainMenu.cs.meta │ │ ├── CMapCollision.cs │ │ ├── CMapCollision.cs.meta │ │ ├── CPlayerGameInfoUI.cs │ │ ├── CPlayerGameInfoUI.cs.meta │ │ ├── CPopupCommon.cs │ │ ├── CPopupCommon.cs.meta │ │ ├── CPopupNetworkProcessing.cs │ │ ├── CPopupNetworkProcessing.cs.meta │ │ ├── CPopupQuit.cs │ │ ├── CPopupQuit.cs.meta │ │ ├── CPopupResult.cs │ │ ├── CPopupResult.cs.meta │ │ ├── CStatusBar.cs │ │ ├── CStatusBar.cs.meta │ │ ├── CUIButton.cs │ │ ├── CUIButton.cs.meta │ │ ├── CUIManager.cs │ │ └── CUIManager.cs.meta ├── ProjectSettings │ ├── AudioManager.asset │ ├── ClusterInputManager.asset │ ├── DynamicsManager.asset │ ├── EditorBuildSettings.asset │ ├── EditorSettings.asset │ ├── GraphicsSettings.asset │ ├── InputManager.asset │ ├── NavMeshAreas.asset │ ├── NavMeshLayers.asset │ ├── NetworkManager.asset │ ├── Physics2DSettings.asset │ ├── ProjectSettings.asset │ ├── ProjectVersion.txt │ ├── QualitySettings.asset │ ├── TagManager.asset │ ├── TimeManager.asset │ └── UnityConnectSettings.asset └── doc │ ├── screenshot.png │ └── setting.png └── server ├── GameServer ├── App.config ├── CGameRoom.cs ├── CGameRoomManager.cs ├── CGameServer.cs ├── CGameUser.cs ├── CHelper.cs ├── CPlayer.cs ├── CPlayerMovingData.cs ├── GameServer.csproj ├── Program.cs ├── Properties │ └── AssemblyInfo.cs ├── RoomState │ ├── CGameRoomPlayState.cs │ ├── CGameRoomReadyState.cs │ └── IRoomState.cs ├── State │ ├── CMessageDispatcher.cs │ ├── CStateManager.cs │ └── IState.cs ├── UserState │ ├── CUserLobbyState.cs │ ├── CUserPlayState.cs │ └── IUserState.cs ├── Vector2.cs └── protocol.cs └── viruswar_server.sln /FreeNet/DefaultPacketDispatcher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading; 6 | 7 | namespace FreeNet 8 | { 9 | /// 10 | /// 패킷을 처리해서 컨텐츠를 실행하는 곳이다. 11 | /// FreeNet을 사용할 때 LogicMessageEntry을 참고해서 IMessageDispatcher를 상속 받는 클래스를 맞게 구현하자 12 | /// 13 | public class DefaultPacketDispatcher : IPacketDispatcher 14 | { 15 | ILogicQueue MessageQueue = new DoubleBufferingQueue(); 16 | 17 | 18 | public DefaultPacketDispatcher() 19 | { 20 | } 21 | 22 | 23 | public void IncomingPacket(bool IsSystem, Session user, Packet packet) 24 | { 25 | // 여긴 IO스레드에서 호출된다. 26 | // 완성된 패킷을 메시지큐에 넣어준다. 27 | 28 | if(IsSystem == false && packet.ProtocolId <= (short)NetworkDefine.SYS_NTF_MAX) 29 | { 30 | //TODO: 로그 남기기. 여기서는 로거의 인터페이스만 호출해야 한다. 로거의 구현은 애플리케이션에서 구현한다 31 | 32 | // 시스템만 보내어야할 패킷을 상대방이 보냈음. 해킹 의심 33 | return; 34 | } 35 | 36 | MessageQueue.Enqueue(packet); 37 | } 38 | 39 | public Queue DispatchAll() 40 | { 41 | return MessageQueue.TakeAll(); 42 | } 43 | 44 | 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /FreeNet/FreeNet.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | 6 | 7 | 8 | true 9 | 10 | 11 | 12 | true 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /FreeNet/FreeNet.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26730.16 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeNet", "FreeNet.csproj", "{14F7AAE9-D596-4745-A907-6A86A95E20FC}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {14F7AAE9-D596-4745-A907-6A86A95E20FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {14F7AAE9-D596-4745-A907-6A86A95E20FC}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {14F7AAE9-D596-4745-A907-6A86A95E20FC}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {14F7AAE9-D596-4745-A907-6A86A95E20FC}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {4D203167-09D0-4A19-9EE8-E9924CF08A70} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /FreeNet/ILogicQueue.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace FreeNet 7 | { 8 | public interface ILogicQueue 9 | { 10 | void Enqueue(Packet msg); 11 | 12 | Queue TakeAll(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /FreeNet/IMessageResolver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace FreeNet 6 | { 7 | public interface IMessageResolver 8 | { 9 | void Init(int bufferSize); 10 | 11 | void OnReceive(byte[] buffer, int offset, int transffered, Action callback); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /FreeNet/IPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace FreeNet 6 | { 7 | interface IPacket 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /FreeNet/IPacketDispatcher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace FreeNet 7 | { 8 | public interface IPacketDispatcher 9 | { 10 | void IncomingPacket(bool IsSystem, Session user, Packet packet); 11 | 12 | Queue DispatchAll(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /FreeNet/NetworkDefine.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace FreeNet 6 | { 7 | public class NetworkDefine 8 | { 9 | #region SYSTEM_PACKET 10 | public const UInt16 SYS_NTF_CONNECTED = 1; 11 | 12 | public const UInt16 SYS_NTF_CLOSED = 2; 13 | 14 | public const UInt16 SYS_START_HEARTBEAT = 3; 15 | 16 | // 리모트에서 받은 패킷의 경우 이 숫자를 넘어서는 것은 에러 17 | public const UInt16 SYS_NTF_MAX = 100; 18 | #endregion 19 | 20 | 21 | } 22 | 23 | 24 | 25 | 26 | } 27 | -------------------------------------------------------------------------------- /FreeNet/Packet.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace FreeNet 7 | { 8 | /// 9 | /// byte[] 버퍼를 참조로 보관하여 pop_xxx 매소드 호출 순서대로 데이터 변환을 수행한다. 10 | /// 11 | public class Packet : IPacket 12 | { 13 | public Session Owner { get; set; } 14 | 15 | public byte[] BodyData { get; set; } 16 | 17 | 18 | 19 | public UInt16 ProtocolId { get; private set; } 20 | 21 | 22 | public Packet(UInt16 packetId, byte[] body) 23 | { 24 | // 참조로만 보관하여 작업한다. 25 | // 복사가 필요하면 별도로 구현해야 한다. 26 | BodyData = body; 27 | ProtocolId = packetId; 28 | } 29 | 30 | public Packet(Session owner, UInt16 packetId) 31 | { 32 | // 참조로만 보관하여 작업한다. 33 | // 복사가 필요하면 별도로 구현해야 한다. 34 | Owner = owner; 35 | ProtocolId = packetId; 36 | } 37 | 38 | 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /FreeNet/ReserveClosingProcess.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Concurrent; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | using System.Threading; 6 | 7 | namespace FreeNet 8 | { 9 | class ReserveClosingProcess 10 | { 11 | ConcurrentQueue ReserveQueue = new ConcurrentQueue(); 12 | 13 | bool IsStarted = false; 14 | Thread ProcessThread = null; 15 | 16 | int CheckMilliSecond = 100; 17 | 18 | 19 | public void Start(int checkMilliSecond) 20 | { 21 | CheckMilliSecond = checkMilliSecond; 22 | IsStarted = true; 23 | 24 | ProcessThread = new Thread(Process); 25 | ProcessThread.Start(); 26 | } 27 | 28 | public void Stop() 29 | { 30 | if(IsStarted == false) 31 | { 32 | return; 33 | } 34 | 35 | IsStarted = false; 36 | ProcessThread.Join(); 37 | } 38 | 39 | public void Add(Session session) 40 | { 41 | ReserveQueue.Enqueue(session); 42 | } 43 | 44 | 45 | void Process() 46 | { 47 | while (IsStarted) 48 | { 49 | var currentTime = (DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond); 50 | 51 | while (true) 52 | { 53 | bool isTimeWaitOrEmpty = true; 54 | 55 | if (ReserveQueue.TryPeek(out var temp) && temp.ReserveClosingMillSec <= currentTime) 56 | { 57 | if (ReserveQueue.TryDequeue(out var session)) 58 | { 59 | isTimeWaitOrEmpty = false; 60 | session.Close(); 61 | } 62 | } 63 | 64 | if(isTimeWaitOrEmpty) 65 | { 66 | break; 67 | } 68 | } 69 | 70 | Thread.Sleep(CheckMilliSecond); 71 | } 72 | } 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /FreeNet/ServerOption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace FreeNet 6 | { 7 | public class ServerOption 8 | { 9 | public int MaxConnectionCount = 10000; 10 | public int ReserveClosingWaitMilliSecond = 100; 11 | public int ReceiveSecondaryBufferSize = 4012; 12 | 13 | public int ClientReceiveBufferSize = 4096; 14 | public int ClientMaxPacketSize = 1024; 15 | public int ClientSendPacketMTU = 1024; 16 | 17 | // 아직 구현이 완전하지 않음 18 | public UInt16 ClientHeartBeatIntervalSec = 0; // 0 이면 허트비트 사용하지 않음 19 | public UInt16 ClientHeartBeatMaxWaitTimeSec = 0; // 허트 비트 최대 대기 시간(초). 이 시간 이상으로 허트비트가 안 오면 네트워크 이상 20 | 21 | public int ServerSendPacketMTU = 4096; 22 | 23 | 24 | public int SendPacketMTUSize(bool isClient) 25 | { 26 | return isClient ? ClientSendPacketMTU : ServerSendPacketMTU; 27 | } 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /FreeNet/SocketOption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace FreeNet 6 | { 7 | public class SocketOption 8 | { 9 | public bool NoDelay = false; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | FreeNetLite - .Net Core 2 | ========= 3 | 원 버전은 닷넷 3.5 지원인데 .Net Core 지원으로 바꾼 것이다. 4 | FreeNet은 .Net Standard 2.0 버전이고, SampleServer는 .Net Core 2.2 버전이다. 5 | (그리고 코드 리팩토링도 하고 있다) 6 | 7 | **현재 대규모 수정 중이다. 안정성 테스트를 하지 못했다(2017-10-25)** 8 | 9 | ========= 10 | C# Network library. Asynchronous. TCP. GameServer. 11 | 12 | Version 13 | ---------- 14 | * v0.1.0 Heartbeat 15 | * v0.0.1 16 | 17 | 프로젝트 정보 18 | ---------- 19 | * C# 비동기 네트워크 라이브러리. 20 | * 게임 서버에서 사용할 수 있는 TCP기반의 socket server. 21 | * .Net Core 2.2 사용 22 | * Unity 연동 가능 23 | 24 | 25 | Sample Game 26 | ---------- 27 | ![viruswar](https://github.com/sunduk/FreeNet/blob/master/viruswar/client/doc/screenshot.png?raw=true) 28 | * FreeNet라이브러리를 활용하여 Unity로 만든 온라인 멀티플레이 보드 게임 세균전. 29 | * The VirusWar that online multiplay board game sample developed using FreeNet and Unity. 30 | 31 | 아키텍처 및 구조   32 | ---------- 33 | ![structure](https://github.com/sunduk/FreeNet/blob/master/documents/struct.png?raw=true) 34 | ![class structure](https://github.com/sunduk/FreeNet/blob/master/documents/class_struct.png?raw=true) 35 | ![worker](https://github.com/sunduk/FreeNet/blob/master/documents/worker_thread.png?raw=true) 36 | ![logic](https://github.com/sunduk/FreeNet/blob/master/documents/logic_thread.png?raw=true) 37 | ![send](https://github.com/sunduk/FreeNet/blob/master/documents/send.png?raw=true) 38 | 39 | Structure 40 | ---------- 41 | ![structure](https://github.com/sunduk/FreeNet/blob/master/documents/struct_en.png?raw=true) 42 | ![class structure](https://github.com/sunduk/FreeNet/blob/master/documents/class_struct_en.png?raw=true) 43 | ![worker](https://github.com/sunduk/FreeNet/blob/master/documents/worker_thread_en.png?raw=true) 44 | ![logic](https://github.com/sunduk/FreeNet/blob/master/documents/logic_thread_en.png?raw=true) 45 | ![send](https://github.com/sunduk/FreeNet/blob/master/documents/send_en.png?raw=true) 46 | 47 | 48 | 라이선스 49 | ---------- 50 | * 소스코드는 상업적, 비상업적 어느 용도이든 자유롭게 사용 가능 합니다. 51 | 52 | License 53 | ---------- 54 | * All source codes are free to use(Commercial use is possible). 55 | -------------------------------------------------------------------------------- /Samples/EchoClient/DevLog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | using System.Runtime.CompilerServices; 8 | using System.Threading; 9 | 10 | namespace csharp_test_client 11 | { 12 | public class DevLog 13 | { 14 | static System.Collections.Concurrent.ConcurrentQueue logMsgQueue = new System.Collections.Concurrent.ConcurrentQueue(); 15 | 16 | static Int64 출력가능_로그레벨 = (Int64)LOG_LEVEL.TRACE; 17 | 18 | 19 | 20 | static public void Init(LOG_LEVEL logLevel) 21 | { 22 | ChangeLogLevel(logLevel); 23 | } 24 | 25 | static public void ChangeLogLevel(LOG_LEVEL logLevel) 26 | { 27 | Interlocked.Exchange(ref 출력가능_로그레벨, (int)logLevel); 28 | } 29 | 30 | public static LOG_LEVEL CurrentLogLevel() 31 | { 32 | var curLogLevel = (LOG_LEVEL)Interlocked.Read(ref 출력가능_로그레벨); 33 | return curLogLevel; 34 | } 35 | 36 | static public void Write(string msg, LOG_LEVEL logLevel = LOG_LEVEL.TRACE, 37 | [CallerFilePath] string fileName = "", 38 | [CallerMemberName] string methodName = "", 39 | [CallerLineNumber] int lineNumber = 0) 40 | { 41 | if (CurrentLogLevel() <= logLevel) 42 | { 43 | logMsgQueue.Enqueue(string.Format("{0}:{1}| {2}", DateTime.Now, methodName, msg)); 44 | } 45 | } 46 | 47 | static public bool GetLog(out string msg) 48 | { 49 | if (logMsgQueue.TryDequeue(out msg)) 50 | { 51 | return true; 52 | } 53 | 54 | return false; 55 | } 56 | 57 | } 58 | 59 | 60 | public enum LOG_LEVEL 61 | { 62 | TRACE, 63 | DEBUG, 64 | INFO, 65 | WARN, 66 | ERROR, 67 | DISABLE 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /Samples/EchoClient/EchoClient.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | netcoreapp2.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Samples/EchoClient/EchoClient.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26730.16 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EchoClient", "EchoClient.csproj", "{ADBF19EB-0285-4633-BBD5-BAB71E0D6B85}" 7 | EndProject 8 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeNetNCore", "..\..\FreeNetNCore\FreeNetNCore.csproj", "{E7943499-302B-41C1-9968-AC85EB11DA10}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {ADBF19EB-0285-4633-BBD5-BAB71E0D6B85}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {ADBF19EB-0285-4633-BBD5-BAB71E0D6B85}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {ADBF19EB-0285-4633-BBD5-BAB71E0D6B85}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {ADBF19EB-0285-4633-BBD5-BAB71E0D6B85}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {E7943499-302B-41C1-9968-AC85EB11DA10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {E7943499-302B-41C1-9968-AC85EB11DA10}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {E7943499-302B-41C1-9968-AC85EB11DA10}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {E7943499-302B-41C1-9968-AC85EB11DA10}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {04E82BDE-C0B1-46E8-A2FC-946069FA7384} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /Samples/EchoClient/Program.cs: -------------------------------------------------------------------------------- 1 | using FreeNet; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Net; 5 | 6 | namespace SampleClient 7 | { 8 | class Program 9 | { 10 | static List game_servers = new List(); 11 | 12 | static void Main(string[] args) 13 | { 14 | PacketBufferManager.initialize(2000); 15 | // CNetworkService객체는 메시지의 비동기 송,수신 처리를 수행한다. 16 | // 메시지 송,수신은 서버, 클라이언트 모두 동일한 로직으로 처리될 수 있으므로 17 | // CNetworkService객체를 생성하여 Connector객체에 넘겨준다. 18 | var service = new NetworkService(true); 19 | 20 | // endpoint정보를 갖고있는 Connector생성. 만들어둔 NetworkService객체를 넣어준다. 21 | CConnector connector = new CConnector(service); 22 | // 접속 성공시 호출될 콜백 매소드 지정. 23 | connector.connected_callback += on_connected_gameserver; 24 | var endpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 7979); 25 | connector.connect(endpoint); 26 | //System.Threading.Thread.Sleep(10); 27 | 28 | while (true) 29 | { 30 | Console.Write("> "); 31 | string line = Console.ReadLine(); 32 | if (line == "q") 33 | { 34 | break; 35 | } 36 | 37 | var msg = Packet.create((short)PROTOCOL.CHAT_MSG_REQ); 38 | msg.push(line); 39 | game_servers[0].send(msg); 40 | } 41 | 42 | ((CRemoteServerPeer)game_servers[0]).token.disconnect(); 43 | 44 | //System.Threading.Thread.Sleep(1000 * 20); 45 | Console.ReadKey(); 46 | } 47 | 48 | 49 | /// 50 | /// 접속 성공시 호출될 콜백 매소드. 51 | /// 52 | /// 53 | static void on_connected_gameserver(UserToken server_token) 54 | { 55 | lock (game_servers) 56 | { 57 | IPeer server = new CRemoteServerPeer(server_token); 58 | server_token.on_connected(); 59 | game_servers.Add(server); 60 | Console.WriteLine("Connected!"); 61 | } 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Samples/EchoClient/Protocol.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace SampleClient 8 | { 9 | public enum PROTOCOL : short 10 | { 11 | BEGIN = 0, 12 | 13 | CHAT_MSG_REQ = 1, 14 | CHAT_MSG_ACK = 2, 15 | 16 | END 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Samples/EchoClient/RemoteServerPeer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using FreeNet; 7 | 8 | namespace SampleClient 9 | { 10 | class CRemoteServerPeer : IPeer 11 | { 12 | public UserToken token { get; private set; } 13 | 14 | public CRemoteServerPeer(UserToken token) 15 | { 16 | this.token = token; 17 | this.token.set_peer(this); 18 | } 19 | 20 | int recv_count = 0; 21 | void IPeer.on_message(Packet msg) 22 | { 23 | System.Threading.Interlocked.Increment(ref this.recv_count); 24 | 25 | var protocol_id = (PROTOCOL)msg.pop_protocol_id(); 26 | switch (protocol_id) 27 | { 28 | case PROTOCOL.CHAT_MSG_ACK: 29 | { 30 | string text = msg.pop_string(); 31 | Console.WriteLine(string.Format("text {0}", text)); 32 | } 33 | break; 34 | } 35 | } 36 | 37 | void IPeer.on_removed() 38 | { 39 | Console.WriteLine("Server removed."); 40 | Console.WriteLine("recv count " + this.recv_count); 41 | } 42 | 43 | void IPeer.send(Packet msg) 44 | { 45 | msg.record_size(); 46 | this.token.send(new ArraySegment(msg.buffer, 0, msg.position)); 47 | } 48 | 49 | void IPeer.disconnect() 50 | { 51 | this.token.disconnect(); 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Samples/EchoServer/EchoServer.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | netcoreapp2.2 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Samples/EchoServer/EchoServer.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26730.16 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EchoServer", "EchoServer.csproj", "{82EBAF29-ED16-4731-856F-02189A03DF70}" 7 | EndProject 8 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeNet", "..\..\FreeNet\FreeNet.csproj", "{D1C40A04-55DA-4459-B3BE-C4D7342CBE36}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {82EBAF29-ED16-4731-856F-02189A03DF70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {82EBAF29-ED16-4731-856F-02189A03DF70}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {82EBAF29-ED16-4731-856F-02189A03DF70}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {82EBAF29-ED16-4731-856F-02189A03DF70}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {D1C40A04-55DA-4459-B3BE-C4D7342CBE36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {D1C40A04-55DA-4459-B3BE-C4D7342CBE36}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {D1C40A04-55DA-4459-B3BE-C4D7342CBE36}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {D1C40A04-55DA-4459-B3BE-C4D7342CBE36}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {3260DBAA-D520-473A-B53E-33ED61D269A3} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /Samples/EchoServer/GameUser.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using FreeNet; 3 | 4 | namespace SampleServer 5 | { 6 | /// 7 | /// 하나의 session객체를 나타낸다. 8 | /// 9 | class GameUser 10 | { 11 | Session Session; 12 | 13 | public GameUser(Session session) 14 | { 15 | Session = session; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Samples/EchoServer/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace SampleServer 5 | { 6 | class Program 7 | { 8 | 9 | 10 | static void Main(string[] args) 11 | { 12 | var serverOpt = new FreeNet.ServerOption(); 13 | var service = new FreeNet.NetworkService(serverOpt, null); 14 | service.Initialize(); 15 | 16 | var socketOpt = new FreeNet.SocketOption(); 17 | socketOpt.NoDelay = true; 18 | service.Listen("0.0.0.0", 7979, 100, socketOpt); 19 | 20 | Console.WriteLine("Started!"); 21 | 22 | 23 | // 패킷 처리기 생성 및 실행 24 | var packetProcess = new PacketProcess(service); 25 | packetProcess.Start(); 26 | 27 | 28 | while (true) 29 | { 30 | //Console.Write("."); 31 | string input = Console.ReadLine(); 32 | 33 | if (input.Equals("users")) 34 | { 35 | Console.WriteLine(service.SessionMgr.GetTotalCount()); 36 | } 37 | else if (input.Equals("exit")) 38 | { 39 | Console.WriteLine("Exit Process !!!"); 40 | 41 | packetProcess.Stop(); 42 | service.Stop(); 43 | 44 | Console.WriteLine("Exit !!!"); 45 | break; 46 | } 47 | 48 | System.Threading.Thread.Sleep(500); 49 | } 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Samples/EchoServerIOThreadPacketProcess/EchoServerIOThreadPacketProcess.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | netcoreapp2.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Samples/EchoServerIOThreadPacketProcess/EchoServerIOThreadPacketProcess.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26730.16 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EchoServerIOThreadPacketProcess", "EchoServerIOThreadPacketProcess.csproj", "{82EBAF29-ED16-4731-856F-02189A03DF70}" 7 | EndProject 8 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeNet", "..\..\FreeNet\FreeNet.csproj", "{D1C40A04-55DA-4459-B3BE-C4D7342CBE36}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {82EBAF29-ED16-4731-856F-02189A03DF70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {82EBAF29-ED16-4731-856F-02189A03DF70}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {82EBAF29-ED16-4731-856F-02189A03DF70}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {82EBAF29-ED16-4731-856F-02189A03DF70}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {D1C40A04-55DA-4459-B3BE-C4D7342CBE36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {D1C40A04-55DA-4459-B3BE-C4D7342CBE36}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {D1C40A04-55DA-4459-B3BE-C4D7342CBE36}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {D1C40A04-55DA-4459-B3BE-C4D7342CBE36}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {3260DBAA-D520-473A-B53E-33ED61D269A3} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /Samples/EchoServerIOThreadPacketProcess/GameUser.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using FreeNet; 3 | 4 | namespace EchoServerIOThreadPacketProcess 5 | { 6 | /// 7 | /// 하나의 session객체를 나타낸다. 8 | /// 9 | class GameUser 10 | { 11 | Session Session; 12 | 13 | public GameUser(Session session) 14 | { 15 | Session = session; 16 | } 17 | 18 | 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Samples/EchoServerIOThreadPacketProcess/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace EchoServerIOThreadPacketProcess 5 | { 6 | class Program 7 | { 8 | static void Main(string[] args) 9 | { 10 | // IoThreadPacketDispatcher 에서 바로 패킷을 처리한다. 즉 멀티스레드로 패킷을 처리한다. 11 | var packetDispatcher = new IoThreadPacketDispatcher(); 12 | 13 | 14 | var serverOpt = new FreeNet.ServerOption(); 15 | 16 | var service = new FreeNet.NetworkService(serverOpt); 17 | service.Initialize(); 18 | 19 | var socketOpt = new FreeNet.SocketOption(); 20 | socketOpt.NoDelay = true; 21 | 22 | service.Listen("0.0.0.0", 7979, 100, socketOpt); 23 | 24 | Console.WriteLine("Started!"); 25 | 26 | 27 | while (true) 28 | { 29 | //Console.Write("."); 30 | string input = Console.ReadLine(); 31 | 32 | if (input.Equals("users")) 33 | { 34 | Console.WriteLine(service.SessionMgr.GetTotalCount()); 35 | } 36 | else if (input.Equals("Exit Process")) 37 | { 38 | service.Stop(); 39 | 40 | Console.WriteLine("Exit !!!"); 41 | break; 42 | } 43 | 44 | System.Threading.Thread.Sleep(500); 45 | } 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Samples/EchoServerIOThreadPacketProcess/Protocol.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EchoServerIOThreadPacketProcess 8 | { 9 | public enum PROTOCOL_ID : short 10 | { 11 | BEGIN = 0, 12 | 13 | ECHO_REQ = 1, 14 | ECHO_ACK = 2, 15 | 16 | END 17 | } 18 | 19 | 20 | 21 | public class PacketBase 22 | { 23 | public static readonly UInt16 HeaderSize = FreeNet.DefaultMessageResolver.HEADERSIZE; 24 | } 25 | 26 | public class EchoPacket : PacketBase 27 | { 28 | public string Data; 29 | 30 | public byte[] ToPacket(PROTOCOL_ID packetId, byte[] bodyData) 31 | { 32 | if (bodyData == null) 33 | { 34 | bodyData = Encoding.UTF8.GetBytes(Data); 35 | } 36 | 37 | var packetLen = (UInt16)(HeaderSize + bodyData.Length); 38 | var packet = new byte[packetLen]; 39 | 40 | FreeNet.FastBinaryWrite.UInt16(packet, 0, packetLen); 41 | FreeNet.FastBinaryWrite.UInt16(packet, 2, (UInt16)packetId); 42 | Buffer.BlockCopy(bodyData, 0, packet, HeaderSize, bodyData.Length); 43 | return packet; 44 | } 45 | 46 | public void Decode(byte[] bodyData) 47 | { 48 | Data = Encoding.UTF8.GetString(bodyData); 49 | } 50 | } 51 | 52 | 53 | public class HeartBeatReqPacket : PacketBase 54 | { 55 | public UInt16 IntervalSec; // 허트비트 간격 (초) 56 | public byte[] ToPacket() 57 | { 58 | var packetLen = (UInt16)(HeaderSize + 2); 59 | var packet = new byte[packetLen]; 60 | 61 | FreeNet.FastBinaryWrite.UInt16(packet, 0, packetLen); 62 | FreeNet.FastBinaryWrite.UInt16(packet, 2, FreeNet.NetworkDefine.SYS_START_HEARTBEAT); 63 | FreeNet.FastBinaryWrite.UInt16(packet, 5, IntervalSec); 64 | return packet; 65 | } 66 | 67 | public void Decode(byte[] bodyData) 68 | { 69 | IntervalSec = FreeNet.FastBinaryRead.UInt16(bodyData, 0); 70 | } 71 | } 72 | 73 | 74 | } 75 | -------------------------------------------------------------------------------- /documents/class_struct.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/documents/class_struct.png -------------------------------------------------------------------------------- /documents/class_struct_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/documents/class_struct_en.png -------------------------------------------------------------------------------- /documents/logic_thread.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/documents/logic_thread.png -------------------------------------------------------------------------------- /documents/logic_thread_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/documents/logic_thread_en.png -------------------------------------------------------------------------------- /documents/send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/documents/send.png -------------------------------------------------------------------------------- /documents/send_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/documents/send_en.png -------------------------------------------------------------------------------- /documents/struct.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/documents/struct.png -------------------------------------------------------------------------------- /documents/struct_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/documents/struct_en.png -------------------------------------------------------------------------------- /documents/worker_thread.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/documents/worker_thread.png -------------------------------------------------------------------------------- /documents/worker_thread_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/documents/worker_thread_en.png -------------------------------------------------------------------------------- /viruswar/client/Assets/Canvas.prefab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/Canvas.prefab -------------------------------------------------------------------------------- /viruswar/client/Assets/Canvas.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 26413be47842ab3438eb2b582e01a2ea 3 | timeCreated: 1503236788 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /viruswar/client/Assets/FreeNet.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ac6f873769ceb9e40a98c6edd58e5584 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /viruswar/client/Assets/FreeNet/CFreeNetEventManager.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/FreeNet/CFreeNetEventManager.cs -------------------------------------------------------------------------------- /viruswar/client/Assets/FreeNet/CFreeNetEventManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9180ba31fc247dc40a7a35e83d1af5bc 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /viruswar/client/Assets/FreeNet/CFreeNetUnityService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/FreeNet/CFreeNetUnityService.cs -------------------------------------------------------------------------------- /viruswar/client/Assets/FreeNet/CFreeNetUnityService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d75af948b7b62a4b8aeb13c14b0ba52 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /viruswar/client/Assets/FreeNet/CRemoteServerPeer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using FreeNet; 6 | using FreeNetUnity; 7 | 8 | namespace FreeNetUnity 9 | { 10 | public class CRemoteServerPeer : IPeer 11 | { 12 | public CUserToken token { get; private set; } 13 | WeakReference freenet_eventmanager; 14 | 15 | public CRemoteServerPeer(CUserToken token) 16 | { 17 | this.token = token; 18 | this.token.set_peer(this); 19 | } 20 | 21 | public void set_eventmanager(CFreeNetEventManager event_manager) 22 | { 23 | this.freenet_eventmanager = new WeakReference(event_manager); 24 | } 25 | 26 | public void update_heartbeat(float time) 27 | { 28 | this.token.update_heartbeat_manually(time); 29 | } 30 | 31 | /// 32 | /// 메시지를 수신했을 때 호출된다. 33 | /// 34 | void IPeer.on_message(CPacket msg) 35 | { 36 | (this.freenet_eventmanager.Target as CFreeNetEventManager).enqueue_network_message(msg); 37 | } 38 | 39 | void IPeer.on_removed() 40 | { 41 | (this.freenet_eventmanager.Target as CFreeNetEventManager).enqueue_network_event(NETWORK_EVENT.disconnected); 42 | } 43 | 44 | void IPeer.send(CPacket msg) 45 | { 46 | this.token.send(msg); 47 | } 48 | 49 | void IPeer.disconnect() 50 | { 51 | this.token.disconnect(); 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /viruswar/client/Assets/FreeNet/CRemoteServerPeer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eaf2fc00f68eea44b8eb28a33454a348 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /viruswar/client/Assets/FreeNet/FreeNet.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/FreeNet/FreeNet.dll -------------------------------------------------------------------------------- /viruswar/client/Assets/FreeNet/FreeNet.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3629ab723c17af84d93f9371b6b047ca 3 | PluginImporter: 4 | serializedVersion: 1 5 | iconMap: {} 6 | executionOrder: {} 7 | isPreloaded: 0 8 | isOverridable: 0 9 | platformData: 10 | Android: 11 | enabled: 1 12 | settings: 13 | CPU: ARMv7 14 | Any: 15 | enabled: 1 16 | settings: 17 | Exclude Android: 0 18 | Exclude Editor: 0 19 | Exclude Linux: 0 20 | Exclude Linux64: 0 21 | Exclude LinuxUniversal: 0 22 | Exclude OSXIntel: 0 23 | Exclude OSXIntel64: 0 24 | Exclude OSXUniversal: 0 25 | Exclude Win: 0 26 | Exclude Win64: 0 27 | Editor: 28 | enabled: 1 29 | settings: 30 | CPU: AnyCPU 31 | DefaultValueInitialized: true 32 | OS: AnyOS 33 | Linux: 34 | enabled: 1 35 | settings: 36 | CPU: x86 37 | Linux64: 38 | enabled: 1 39 | settings: 40 | CPU: x86_64 41 | LinuxUniversal: 42 | enabled: 1 43 | settings: 44 | CPU: AnyCPU 45 | OSXIntel: 46 | enabled: 1 47 | settings: 48 | CPU: AnyCPU 49 | OSXIntel64: 50 | enabled: 1 51 | settings: 52 | CPU: AnyCPU 53 | OSXUniversal: 54 | enabled: 1 55 | settings: 56 | CPU: AnyCPU 57 | Win: 58 | enabled: 1 59 | settings: 60 | CPU: AnyCPU 61 | Win64: 62 | enabled: 1 63 | settings: 64 | CPU: AnyCPU 65 | WindowsStoreApps: 66 | enabled: 0 67 | settings: 68 | CPU: AnyCPU 69 | userData: 70 | assetBundleName: 71 | assetBundleVariant: 72 | -------------------------------------------------------------------------------- /viruswar/client/Assets/images.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b093613e34a0e514695a7f2125fa372f 3 | folderAsset: yes 4 | timeCreated: 1502888628 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /viruswar/client/Assets/images/go_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/images/go_01.png -------------------------------------------------------------------------------- /viruswar/client/Assets/images/go_01.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: baa87f27c3a08224887a1c0ee4dd6b77 3 | timeCreated: 1446820119 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: .25 21 | normalMapFilter: 0 22 | isReadable: 1 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: 5 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: .5, y: .5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | sprites: [] 52 | spritePackingTag: 53 | userData: 54 | assetBundleName: 55 | assetBundleVariant: 56 | -------------------------------------------------------------------------------- /viruswar/client/Assets/images/stop_noti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/images/stop_noti.png -------------------------------------------------------------------------------- /viruswar/client/Assets/images/stop_noti.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 454efa6e19afebe4f97dc971ab87fff1 3 | timeCreated: 1446820119 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: .25 21 | normalMapFilter: 0 22 | isReadable: 1 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: 5 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: .5, y: .5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | sprites: [] 52 | spritePackingTag: 53 | userData: 54 | assetBundleName: 55 | assetBundleVariant: 56 | -------------------------------------------------------------------------------- /viruswar/client/Assets/images/win.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/images/win.png -------------------------------------------------------------------------------- /viruswar/client/Assets/images/win.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c1fe5777f347fa9459cebf46e9934f47 3 | timeCreated: 1446820120 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: .25 21 | normalMapFilter: 0 22 | isReadable: 1 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: 5 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 16 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: .5, y: .5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | sprites: [] 52 | spritePackingTag: 53 | userData: 54 | assetBundleName: 55 | assetBundleVariant: 56 | -------------------------------------------------------------------------------- /viruswar/client/Assets/resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3f2a8f285a141194ab18feb85cce2ec9 3 | folderAsset: yes 4 | timeCreated: 1502888628 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /viruswar/client/Assets/resources/font.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e740ecdaeb8ad14d99f8c02a40a6d3b 3 | folderAsset: yes 4 | timeCreated: 1502888628 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /viruswar/client/Assets/resources/font/BMHANNA_11yrs_ttf.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/resources/font/BMHANNA_11yrs_ttf.ttf -------------------------------------------------------------------------------- /viruswar/client/Assets/resources/font/BMHANNA_11yrs_ttf.ttf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eed1aa1ffc0b19a49b397e9f6a2da5f5 3 | timeCreated: 1445252442 4 | licenseType: Free 5 | TrueTypeFontImporter: 6 | serializedVersion: 4 7 | fontSize: 16 8 | forceTextureCase: -2 9 | characterSpacing: 0 10 | characterPadding: 1 11 | includeFontData: 1 12 | fontName: BM HANNA 11yrs old 13 | fontNames: [] 14 | fallbackFontReferences: [] 15 | customCharacters: 16 | fontRenderingMode: 0 17 | ascentCalculationMode: 1 18 | userData: 19 | assetBundleName: 20 | assetBundleVariant: 21 | -------------------------------------------------------------------------------- /viruswar/client/Assets/scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14362adc9ae9e0945a8541ec844282e3 3 | folderAsset: yes 4 | timeCreated: 1503408093 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /viruswar/client/Assets/scripts/State.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 70c099f204e8bac469ea7cec4a04ad38 3 | folderAsset: yes 4 | timeCreated: 1503408093 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /viruswar/client/Assets/scripts/State/CMessageDispatcher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | public delegate void MessageHandlerDelegate(params object[] args); 5 | public class CMessageDispatcher 6 | { 7 | Dictionary handlers; 8 | 9 | public CMessageDispatcher() 10 | { 11 | this.handlers = new Dictionary(); 12 | } 13 | 14 | 15 | public void register(Enum key, MessageHandlerDelegate fn) 16 | { 17 | if (!this.handlers.ContainsKey(key)) 18 | { 19 | this.handlers.Add(key, fn); 20 | return; 21 | } 22 | 23 | this.handlers[key] = fn; 24 | } 25 | 26 | 27 | public void unregister(Enum key) 28 | { 29 | this.handlers.Remove(key); 30 | } 31 | 32 | 33 | public void dispatch(Enum key, params object[] args) 34 | { 35 | if (!this.handlers.ContainsKey(key)) 36 | { 37 | return; 38 | } 39 | 40 | this.handlers[key](args); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /viruswar/client/Assets/scripts/State/CMessageDispatcher.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bd421de6e88c21f4d972d965f9ae93f5 3 | timeCreated: 1483851039 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/scripts/State/CStateCreateNewObject.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using System.Collections; 4 | 5 | public class CStateCreateNewObject : IStateObjectGenerationType 6 | { 7 | IState IStateObjectGenerationType.make_state_object(GameObject parent, Enum key) 8 | { 9 | GameObject obj = new GameObject(key.ToString()); 10 | obj.transform.parent = parent.transform; 11 | return obj.AddComponent(); 12 | } 13 | 14 | 15 | void IStateObjectGenerationType.set_active(IState obj, bool flag) 16 | { 17 | ((MonoBehaviour)obj).gameObject.SetActive(flag); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /viruswar/client/Assets/scripts/State/CStateCreateNewObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b7147dc66d71e634fbda39565862c9ad 3 | timeCreated: 1482202043 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/scripts/State/CStateManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 70acd8e2a5181e8408c8585f6aafe9eb 3 | timeCreated: 1476255518 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/scripts/State/CStateSingleObject.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using System.Collections; 4 | 5 | public class CStateSingleObject : IStateObjectGenerationType 6 | { 7 | IState IStateObjectGenerationType.make_state_object(GameObject parent, Enum key) 8 | { 9 | return parent.AddComponent(); 10 | } 11 | 12 | 13 | void IStateObjectGenerationType.set_active(IState obj, bool flag) 14 | { 15 | ((MonoBehaviour)obj).StopAllCoroutines(); 16 | ((MonoBehaviour)obj).enabled = flag; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /viruswar/client/Assets/scripts/State/CStateSingleObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 392964428518d0c448b0435b1c47f47e 3 | timeCreated: 1482202033 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/scripts/State/IState.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | public interface IState 5 | { 6 | void on_enter(); 7 | void on_exit(); 8 | } 9 | -------------------------------------------------------------------------------- /viruswar/client/Assets/scripts/State/IState.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 724f6d7e722c9a447a140abef39969a6 3 | timeCreated: 1476255524 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/scripts/State/IStateObjectGenerationType.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using System.Collections; 4 | 5 | public enum STATE_OBJECT_TYPE 6 | { 7 | // 자신의 오브젝트에 모든 스테이트 스크립트를 attach하는 형태. 8 | ATTACH_TO_SINGLE_OBJECT, 9 | 10 | // 새로운 게임 오브젝트를 생성하고 child로 붙이는 형태. 11 | CREATE_NEW_OBJECT 12 | } 13 | 14 | 15 | /// 16 | /// 스테이트 생성 방식에 따른 분류. 17 | /// 18 | public interface IStateObjectGenerationType 19 | { 20 | IState make_state_object(GameObject parent, Enum key) where T : Component, IState; 21 | void set_active(IState obj, bool flag); 22 | } 23 | -------------------------------------------------------------------------------- /viruswar/client/Assets/scripts/State/IStateObjectGenerationType.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0dda9066ece94bb45809360128b294de 3 | timeCreated: 1482202088 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: abd88ad69ccfc7f4098733e355ad43ea 3 | folderAsset: yes 4 | timeCreated: 1502888097 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 273da8079bd65be4589ef7317bc5204e 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 66795c05cf9b3cd489bbb66a48966359 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/blank.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/blank.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a15acb5cdc873de45b4cd87cbaa1c5a3 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/blue.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/blue.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 15351d17a204f9b4385f8c6656f8a6ac 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: 47 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 1 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/blue_playing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/blue_playing.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/blue_playing.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8ea7fee46fba97343833e944b4ce87a4 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 1 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/border.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/border.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/border.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a780186bb9e7c344989278adb160c44 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: 47 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 1 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/border_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/border_line.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/border_line.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b7477a9600e032441b07ba44e8791aae 3 | timeCreated: 1503119991 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: 16 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/cancel_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/cancel_x.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/cancel_x.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 366d849188acc5142b7f9ea1f2b7d810 3 | timeCreated: 1503325097 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/draw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/draw.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/draw.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d915546b69304542bd9ed742d211194 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: 1 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 1 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 8 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/focus.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/focus.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e00cb40380c4844986749de3d715c9b 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/gameboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/gameboard.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/gameboard.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb7407ac5dbf39c47a5f81db753607c2 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/gameboard_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/gameboard_bg.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/gameboard_bg.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c69c4733a6a0fc043a52b62e6325a83b 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/gray_transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/gray_transparent.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/gray_transparent.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 870c5969ca74c714fbb8d71077fd6fba 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/graycell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/graycell.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/graycell.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b47640aa382d2840a91cf9448ce56c9 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/info.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/info.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c24754324e8ef4f438a19058687bca06 3 | timeCreated: 1503670061 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/lose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/lose.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/lose.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9000cf11b5355fe4297a6bb3297bab99 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: 1 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 1 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 8 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/me.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/me.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/me.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9d2f123dd7f7eea4c9341ed806570298 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/n00.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n00.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9f7d7a56eae53b14d938f02570a212c2 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 1 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/n01.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n01.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 185c82c93c328bb41a95d24b9315393c 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 1 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/n02.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n02.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bf6dd6778909e2b4186771816741ff9d 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 1 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/n03.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n03.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 53b8b76ce9ce5ac4bbd8b928aca6b81f 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 1 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/n04.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n04.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 07eeca0629d8088448233ae9c1e91e21 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 1 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/n05.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n05.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cb2e04df73264e649a758be3c37c205f 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 1 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/n06.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n06.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 52c8be0062bbe964da026abf2a3bdc97 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 1 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/n07.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n07.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9119101968a1b3b469bb20074000597e 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 1 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/n08.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n08.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2d9480a6d010fb84fae8be2e69651549 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 1 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/n09.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/n09.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 917c594ffed1787489d56955444c32ca 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 1 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/other.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/other.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/other.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b20beb92247ecd3499d323070529505f 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 1 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/playagain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/playagain.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/playagain.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c154e4b11fa30a41b9eb01a80986378 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/red.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/red.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d7a49ec89ac603940a5dd205ff86d7b1 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: 47 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 1 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/red_playing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/red_playing.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/red_playing.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a8eec33f4ed8a64b9db9d38a4f3f02b 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 1 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/title_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/title_blue.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/title_blue.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d82cacffc3126bb458a112d3b75083ff 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: -1 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 1 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 1 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/waiting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/waiting.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/waiting.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6704190ac79e0284f8906e34b7e7b5fe 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 4 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | sRGBTexture: 0 10 | linearTexture: 1 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: 0.25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 6 23 | cubemapConvolution: 0 24 | seamlessCubemap: 0 25 | textureFormat: 7 26 | maxTextureSize: 1024 27 | textureSettings: 28 | filterMode: -1 29 | aniso: 0 30 | mipBias: -1 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 1 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: 0.5, y: 0.5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaUsage: 0 43 | alphaIsTransparency: 0 44 | spriteTessellationDetail: -1 45 | textureType: 8 46 | textureShape: 1 47 | maxTextureSizeSet: 0 48 | compressionQualitySet: 0 49 | textureFormatSet: 0 50 | platformSettings: 51 | - buildTarget: DefaultTexturePlatform 52 | maxTextureSize: 1024 53 | textureFormat: -1 54 | textureCompression: 0 55 | compressionQuality: 50 56 | crunchedCompression: 0 57 | allowsAlphaSplitting: 0 58 | overridden: 0 59 | - buildTarget: Standalone 60 | maxTextureSize: 1024 61 | textureFormat: -1 62 | textureCompression: 0 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | - buildTarget: Android 68 | maxTextureSize: 1024 69 | textureFormat: -1 70 | textureCompression: 0 71 | compressionQuality: 50 72 | crunchedCompression: 0 73 | allowsAlphaSplitting: 0 74 | overridden: 0 75 | spriteSheet: 76 | serializedVersion: 2 77 | sprites: [] 78 | outline: [] 79 | spritePackingTag: 80 | userData: 81 | assetBundleName: 82 | assetBundleVariant: 83 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/white.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/white.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4af7d487da442af44934b0ae75a3e615 3 | timeCreated: 1503111108 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/win.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/win.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/win.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 825eb037ba8f1bd4387a730d1f045806 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: 1 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 1 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 8 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/yes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/images/yes.png -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/images/yes.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3c51a4a5797980b4896050116a35128d 3 | timeCreated: 1503672656 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 13e4bbe35ef01e54e91092beda3f1743 3 | folderAsset: yes 4 | timeCreated: 1502977624 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/prefabs/blue.prefab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/prefabs/blue.prefab -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/prefabs/blue.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 599569505c452234aa49cbd01b84aaa4 3 | timeCreated: 1502977649 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/prefabs/border.prefab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/prefabs/border.prefab -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/prefabs/border.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea94b516c2f42b94dbdbdaf368df9731 3 | timeCreated: 1503062416 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/prefabs/character_border.prefab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/prefabs/character_border.prefab -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/prefabs/character_border.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ed71daabe1088e44aa732fa3ac2e6779 3 | timeCreated: 1503068979 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/prefabs/red.prefab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/prefabs/red.prefab -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/prefabs/red.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 062477ac0e9403c4892c2c298371319a 3 | timeCreated: 1502977628 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/prefabs/touchable_area.prefab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/Resources/prefabs/touchable_area.prefab -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/Resources/prefabs/touchable_area.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b9ff8f107e99c294b8cd31117b647193 3 | timeCreated: 1502980831 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d9867c8198b95049a6e277932399a01 3 | folderAsset: yes 4 | timeCreated: 1502888075 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scenes/play.unity: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacking75/FreeNetLite/915c42f1496e556aec699bd0fd99ca51c068997a/viruswar/client/Assets/viruswar/scenes/play.unity -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scenes/play.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3f2a37c87bef27743928dbc75b945bcc 3 | timeCreated: 1502888225 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b50d8610eba6ea940b67191ab1b60d96 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/CHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a952d096184b59342acb021d4af9f5f6 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/CNetworkManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c45318ed7ac7b3b4b9588780a1d41070 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/CPlayer.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | 5 | public enum PLAYER_STATE 6 | { 7 | HUMAN, 8 | AI 9 | } 10 | 11 | public class CPlayer : MonoBehaviour { 12 | 13 | public List cell_indexes { get; private set; } 14 | public byte player_index { get; private set; } 15 | public PLAYER_STATE state { get; private set; } 16 | CPlayerAgent agent; 17 | 18 | void Awake() 19 | { 20 | this.cell_indexes = new List(); 21 | this.agent = new CPlayerAgent(); 22 | } 23 | 24 | 25 | public void clear() 26 | { 27 | this.cell_indexes.Clear(); 28 | } 29 | 30 | public void initialize(byte player_index) 31 | { 32 | this.player_index = player_index; 33 | } 34 | 35 | public void add(short cell) 36 | { 37 | if (this.cell_indexes.Contains(cell)) 38 | { 39 | Debug.LogError(string.Format("Already have a cell. {0}", cell)); 40 | return; 41 | } 42 | 43 | this.cell_indexes.Add(cell); 44 | } 45 | 46 | public void remove(short cell) 47 | { 48 | this.cell_indexes.Remove(cell); 49 | } 50 | 51 | public void change_to_agent() 52 | { 53 | this.state = PLAYER_STATE.AI; 54 | } 55 | 56 | public void change_to_human() 57 | { 58 | this.state = PLAYER_STATE.HUMAN; 59 | } 60 | 61 | public CellInfo run_agent(List board, List players, List victim_cells) 62 | { 63 | return this.agent.run(board, players, this.cell_indexes, victim_cells); 64 | } 65 | 66 | public int get_virus_count() 67 | { 68 | return this.cell_indexes.Count; 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/CPlayer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2eada3105a8627f4cbbbb2d5b2cd8027 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/CPlayerAgent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 257baa0bd4cb31a4c9a0990eab7f56dc 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/CPlayerRenderer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a31a7a26c48b024b851e88ff86a273e 3 | timeCreated: 1502894780 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/effect.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea5fe289ab8280f49bea20b27c80da2c 3 | folderAsset: yes 4 | timeCreated: 1503118713 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/effect/CRotator.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class CRotator : MonoBehaviour { 6 | 7 | [SerializeField] 8 | float duration; 9 | 10 | [SerializeField] 11 | float angle; 12 | 13 | float direction; 14 | Quaternion from_rotation; 15 | Quaternion to_rotation; 16 | float time; 17 | 18 | 19 | void OnEnable() 20 | { 21 | this.from_rotation = Quaternion.AngleAxis(this.angle * -1.0f, Vector3.forward); 22 | this.to_rotation = Quaternion.AngleAxis(this.angle, Vector3.forward); 23 | this.direction = 1.0f; 24 | this.time = 0.0f; 25 | } 26 | 27 | 28 | void Update() 29 | { 30 | this.time += Time.deltaTime; 31 | if (this.time >= duration) 32 | { 33 | this.time = 0.0f; 34 | this.from_rotation = Quaternion.AngleAxis(this.angle * this.direction, Vector3.forward); 35 | this.direction *= -1.0f; 36 | this.to_rotation = Quaternion.AngleAxis(this.angle * this.direction, Vector3.forward); 37 | } 38 | 39 | transform.rotation = Quaternion.Slerp(this.from_rotation, this.to_rotation, this.time / this.duration); 40 | } 41 | 42 | 43 | public void play() 44 | { 45 | this.enabled = true; 46 | } 47 | 48 | 49 | public void stop() 50 | { 51 | transform.rotation = Quaternion.identity; 52 | this.enabled = false; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/effect/CRotator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0b0821afbae845b4a85ed5e9be114a7e 3 | timeCreated: 1503118719 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/effect/CScaleController.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class CScaleController : MonoBehaviour { 6 | 7 | [SerializeField] 8 | float duration; 9 | 10 | [SerializeField] 11 | Vector3 scale_from; 12 | 13 | [SerializeField] 14 | Vector3 scale_to; 15 | 16 | Vector3 initial_scale; 17 | float time; 18 | 19 | 20 | void Awake() 21 | { 22 | this.initial_scale = transform.localScale; 23 | } 24 | 25 | 26 | void LateUpdate() 27 | { 28 | this.time += Time.deltaTime; 29 | 30 | // 모바일(안드로이드)에서 안먹어서 Vector3.Lerp로 교체함. 원인은 아직 모름. 31 | //transform.localScale = easing_vector3(this.scale_from, this.scale_to, this.time / this.duration, EasingUtil.easeInQuad); 32 | transform.localScale = Vector3.Lerp(this.scale_from, this.scale_to, this.time / this.duration); 33 | } 34 | 35 | 36 | public void reset() 37 | { 38 | transform.localScale = this.initial_scale; 39 | } 40 | 41 | 42 | delegate float EasingMethod(float start, float from, float t); 43 | static Vector3 easing_vector3(Vector3 from, Vector3 to, float t, EasingMethod method) 44 | { 45 | t = Mathf.Clamp(t, 0.0f, 1.0f); 46 | return new Vector3( 47 | method(from.x, to.x, t), 48 | method(from.y, to.y, t), 49 | method(from.z, to.z, t)); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/effect/CScaleController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a13fdf0071584e445a485d9ff6e91cf9 3 | timeCreated: 1503120350 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/play.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: de82ec93dd987c4459569d9748bbaab1 3 | folderAsset: yes 4 | timeCreated: 1502978372 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/play/CBorderViewer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 18306a91bcbadc1439e3547da2a45d83 3 | timeCreated: 1503062531 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/play/CGameWorld.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | /// 6 | /// 게임 객체들을 품고 있는 월드 객체. 7 | /// 8 | public class CGameWorld : CSingletonMonobehaviour 9 | { 10 | /// 11 | /// 월드내에 객체를 생성한다. 12 | /// 13 | /// 14 | /// 15 | public GameObject instantiate(GameObject obj) 16 | { 17 | // 객체 생성시 CGameWorld하위로 오도록 만든다. 18 | // 어떤 오브젝트가 어디에 있는지 디버깅하기 쉬우라고 이렇게 했음. 19 | GameObject clone = GameObject.Instantiate(obj); 20 | clone.transform.parent = transform; 21 | return clone; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/play/CGameWorld.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0af12aeb95f80cb4283d59ce60a267a1 3 | timeCreated: 1503115215 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/play/CVirus.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | /// 6 | /// 바이러스 객체. 7 | /// 8 | public class CVirus : MonoBehaviour { 9 | 10 | // 맵 포지션. 11 | public short cell { get; private set; } 12 | 13 | GameObject appear; 14 | GameObject disappear; 15 | 16 | 17 | void Awake() 18 | { 19 | // 생성될 때 사용할 오브젝트. 20 | this.appear = transform.FindChild("appear").gameObject; 21 | this.appear.SetActive(false); 22 | 23 | // 사라질 때 사용할 오브젝트. 24 | this.disappear = transform.FindChild("destroy").gameObject; 25 | this.disappear.SetActive(false); 26 | } 27 | 28 | 29 | public void update_position(short cell) 30 | { 31 | this.cell = cell; 32 | } 33 | 34 | 35 | /// 36 | /// 대기 상태로 만든다. 37 | /// 38 | public void idle() 39 | { 40 | // 터치 불가능 하게 한다. 41 | GetComponent().enabled = false; 42 | 43 | this.appear.SetActive(true); 44 | // 모션을 멈춘다. 45 | this.appear.GetComponent().stop(); 46 | } 47 | 48 | 49 | /// 50 | /// 터치 가능한 상태로 만든다. 51 | /// 52 | public void touchable() 53 | { 54 | GetComponent().enabled = true; 55 | } 56 | 57 | 58 | /// 59 | /// 삭제 한다. 60 | /// 61 | public void destroy() 62 | { 63 | this.appear.SetActive(false); 64 | this.disappear.SetActive(true); 65 | } 66 | 67 | 68 | public void on_touch() 69 | { 70 | // 좌, 우로 흔들거리는 모습 재생. 71 | this.appear.GetComponent().play(); 72 | } 73 | 74 | 75 | public bool is_same(short cell) 76 | { 77 | return this.cell == cell; 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/play/CVirus.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 12b8bc9efb29fe943ba7a935e105dafb 3 | timeCreated: 1502978455 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/play/room_state.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 68d4756cb0130a243804045198d96793 3 | folderAsset: yes 4 | timeCreated: 1503408237 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/play/room_state/CBattleRoomGameOverState.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using FreeNet; 5 | using GameServer; 6 | 7 | /// 8 | /// 게임이 종료된 상태. 9 | /// 10 | public class CBattleRoomGameOverState : MonoBehaviour, IState 11 | { 12 | void Awake() 13 | { 14 | GetComponent().register_message_handler(this, CBattleRoom.MESSAGE.SHOW_RESULT, this.on_show_result); 15 | } 16 | 17 | 18 | void IState.on_enter() 19 | { 20 | GetComponent().hide(); 21 | } 22 | 23 | 24 | void IState.on_exit() 25 | { 26 | } 27 | 28 | 29 | void on_show_result(params object[] args) 30 | { 31 | byte win_player_index = (byte)args[0]; 32 | byte player_me_index = (byte)args[1]; 33 | 34 | CUIManager.Instance.show(UI_PAGE.GAME_RESULT); 35 | CPopupResult result = 36 | CUIManager.Instance.get_uipage(UI_PAGE.GAME_RESULT).GetComponent(); 37 | result.refresh(win_player_index, player_me_index); 38 | } 39 | 40 | 41 | void Update() 42 | { 43 | if (Input.GetKeyDown(KeyCode.Escape)) 44 | { 45 | if (CUIManager.Instance.get_uipage(UI_PAGE.GAME_RESULT).activeSelf) 46 | { 47 | CUIManager.Instance.get_uipage(UI_PAGE.GAME_RESULT).GetComponent().on_ok(); 48 | return; 49 | } 50 | 51 | // 종료 팝업 출력. 52 | CUIManager.Instance.show(UI_PAGE.POPUP_QUIT); 53 | CPopupQuit popup = 54 | CUIManager.Instance.get_uipage(UI_PAGE.POPUP_QUIT).GetComponent(); 55 | popup.refresh(() => 56 | { 57 | CNetworkManager.Instance.disconnect(); 58 | }); 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/play/room_state/CBattleRoomGameOverState.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 669d1ee15705cde4581a4774e6e0223b 3 | timeCreated: 1503408253 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/play/room_state/CBattleRoomReadyState.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using FreeNet; 5 | using GameServer; 6 | 7 | /// 8 | /// 첫번째 턴 시작 전 대기 상태. 9 | /// 10 | public class CBattleRoomReadyState : MonoBehaviour, IState 11 | { 12 | void Awake() 13 | { 14 | make_touchable_buttons(); 15 | } 16 | 17 | 18 | void IState.on_enter() 19 | { 20 | GetComponent().hide(); 21 | } 22 | 23 | 24 | void IState.on_exit() 25 | { 26 | } 27 | 28 | 29 | void make_touchable_buttons() 30 | { 31 | GameObject source = Resources.Load("prefabs/touchable_area") as GameObject; 32 | 33 | int index = 0; 34 | for (int i = 0; i < CBattleRoom.COL_COUNT; ++i) 35 | { 36 | for (int j = 0; j < CBattleRoom.COL_COUNT; ++j) 37 | { 38 | GameObject clone = CGameWorld.Instance.instantiate(source); 39 | 40 | // Convert map position to world position. 41 | // 맵 좌표를 월드 좌표로 변환한다. 42 | Vector2 map_position = new Vector3(j, i); 43 | clone.transform.localPosition = CHelper.map_to_world(map_position); 44 | 45 | // Set button index to find which button is touched. 46 | // 어느 버튼을 눌렀는지 구별하기 위한 인덱스를 저장한다. 47 | clone.AddComponent().set(index); 48 | ++index; 49 | } 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/play/room_state/CBattleRoomReadyState.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e023b6fc559be8f4797725bb5130a96e 3 | timeCreated: 1503408253 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/play/room_state/CBattleRoomTurnPlayingState.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 34ee645c02e7abc449193ae4d47987a0 3 | timeCreated: 1503408267 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/play/room_state/CBattleRoomWaitState.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | /// 6 | /// 상대방 턴이 진행중이라 대기중인 상태. 7 | /// 8 | public class CBattleRoomWaitState : MonoBehaviour, IState 9 | { 10 | CBattleRoom room; 11 | 12 | 13 | void Awake() 14 | { 15 | this.room = GetComponent(); 16 | } 17 | 18 | 19 | void IState.on_enter() 20 | { 21 | disable_cell_touch(); 22 | GetComponent().hide(); 23 | 24 | StartCoroutine(routine_wait()); 25 | } 26 | 27 | 28 | void IState.on_exit() 29 | { 30 | } 31 | 32 | 33 | void disable_cell_touch() 34 | { 35 | this.room.get_players().ForEach(player => player.GetComponent().idle()); 36 | } 37 | 38 | 39 | IEnumerator routine_wait() 40 | { 41 | yield return new WaitForSeconds(5.0f); 42 | 43 | if (!this.room.is_finished()) 44 | { 45 | CUIManager.Instance.show(UI_PAGE.POPUP_WAIT); 46 | } 47 | } 48 | 49 | 50 | void Update() 51 | { 52 | if (Input.GetKeyDown(KeyCode.Escape)) 53 | { 54 | CUIManager.Instance.show(UI_PAGE.POPUP_QUIT); 55 | CPopupQuit popup = 56 | CUIManager.Instance.get_uipage(UI_PAGE.POPUP_QUIT).GetComponent(); 57 | popup.refresh(() => 58 | { 59 | CNetworkManager.Instance.disconnect(); 60 | }); 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/play/room_state/CBattleRoomWaitState.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fb32d6b9dfc0c2247b876a9b7faa4deb 3 | timeCreated: 1503408253 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/protocol.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace GameServer 4 | { 5 | /// 6 | /// 프로토콜 정의. 7 | /// 서버에서 클라이언트로 가는 패킷 : S -> C 8 | /// 클라이언트에서 서버로 가는 패킷 : C -> S 9 | /// 10 | public enum PROTOCOL : short 11 | { 12 | //------------------------------------- 13 | // 0 이하는 종료코드로 사용되므로 게임에서 쓰지 말것!! 14 | //------------------------------------- 15 | BEGIN = 0, 16 | 17 | 18 | //------------------------------------- 19 | // 로비 프로토콜. 20 | //------------------------------------- 21 | // C -> S 게임방 입장 요청. 22 | ENTER_GAME_ROOM_REQ = 1, 23 | 24 | // S -> C 게임장 입장 요청에 대한 응답. 25 | ENTER_GAME_ROOM_ACK = 2, 26 | 27 | // S -> C 매칭이 성공했다. 방에 입장하고 로딩을 시작해라. 28 | START_LOADING = 3, 29 | 30 | // 동시 접속자 정보 요청/응답. 31 | CONCURRENT_USERS = 4, 32 | 33 | 34 | 35 | //------------------------------------- 36 | // 게임 프로토콜. 37 | //------------------------------------- 38 | // C -> S 게임방 리소스 로딩을 완료했다. 게임을 시작해도 좋다. 39 | READY_TO_START = 10, 40 | 41 | // 게임 시작. 42 | GAME_START = 11, 43 | 44 | // 턴 시작. 45 | START_PLAYER_TURN = 12, 46 | 47 | // 클라이언트의 이동 요청. 48 | MOVING_REQ = 13, 49 | 50 | // 플레이어가 이동 했음을 알린다. 51 | PLAYER_MOVED = 14, 52 | 53 | // 클라이언트의 턴 연출이 끝났음을 알린다. 54 | TURN_FINISHED_REQ = 15, 55 | 56 | // 게임 종료. 57 | GAME_OVER = 16, 58 | 59 | // 방이 삭제됨. 60 | ROOM_REMOVED = 17, 61 | 62 | END 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/protocol.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43b0631682f860644b6333f60a76fb08 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/public.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9a44276aa81cd614fb1886341b91473e 3 | folderAsset: yes 4 | timeCreated: 1503120753 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/public/CCameraAspectRatio.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | public class CCameraAspectRatio : MonoBehaviour { 5 | 6 | void Start() 7 | { 8 | refresh_screen(); 9 | } 10 | 11 | 12 | void refresh_screen() 13 | { 14 | // set the desired aspect ratio (the values in this example are 15 | // hard-coded for 16:9, but you could make them into public 16 | // variables instead so you can set them at design time) 17 | //float targetaspect = 16.0f / 9.0f; 18 | float targetaspect = 800.0f / 480.0f; 19 | 20 | // determine the game window's current aspect ratio 21 | float windowaspect = (float)Screen.width / (float)Screen.height; 22 | 23 | // current viewport height should be scaled by this amount 24 | float scaleheight = windowaspect / targetaspect; 25 | 26 | // obtain camera component so we can modify its viewport 27 | Camera camera = GetComponent(); 28 | 29 | // if scaled height is less than current height, add letterbox 30 | if (scaleheight < 1.0f) 31 | { 32 | Rect rect = camera.rect; 33 | 34 | rect.width = 1.0f; 35 | rect.height = scaleheight; 36 | rect.x = 0; 37 | rect.y = (1.0f - scaleheight) / 2.0f; 38 | 39 | camera.rect = rect; 40 | } 41 | else // add pillarbox 42 | { 43 | float scalewidth = 1.0f / scaleheight; 44 | 45 | Rect rect = camera.rect; 46 | 47 | rect.width = scalewidth; 48 | rect.height = 1.0f; 49 | rect.x = (1.0f - scalewidth) / 2.0f; 50 | rect.y = 0; 51 | 52 | camera.rect = rect; 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/public/CCameraAspectRatio.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4992d98eaffb14942ad11332c8cb4c35 3 | timeCreated: 1445865683 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/public/CGameObjectPool.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | 3 | using System.Collections.Generic; 4 | 5 | 6 | 7 | 8 | /* 9 | 10 | * Usage 11 | 12 | * 13 | 14 | * CGameObjectPool monster_pool; 15 | 16 | * ... 17 | 18 | * 19 | 20 | * // Create monsters. 21 | 22 | * this.monster_pool = new CGameObjectPool(5, () => 23 | 24 | { 25 | 26 | GameObject obj = new GameObject("monster"); 27 | 28 | return obj; 29 | 30 | }); 31 | 32 | 33 | 34 | 35 | 36 | ... 37 | 38 | 39 | 40 | // Get from pool 41 | 42 | GameObject obj = this.monster_pool.pop(); 43 | 44 | 45 | 46 | ... 47 | 48 | 49 | 50 | // Return to pool 51 | 52 | this.monster_pool.push(obj); 53 | 54 | * */ 55 | 56 | public class CGameObjectPool where T : class 57 | { 58 | 59 | // Instance count to create. 60 | 61 | short count; 62 | 63 | 64 | 65 | public delegate T Func(T original); 66 | 67 | Func create_fn; 68 | 69 | 70 | 71 | // Instances. 72 | 73 | Stack objects; 74 | 75 | T original_object; 76 | 77 | 78 | // Construct 79 | 80 | public CGameObjectPool(short count, T original_object, Func fn) 81 | { 82 | 83 | this.count = count; 84 | 85 | this.create_fn = fn; 86 | 87 | this.original_object = original_object; 88 | 89 | 90 | 91 | this.objects = new Stack(this.count); 92 | 93 | allocate(); 94 | 95 | } 96 | 97 | 98 | 99 | void allocate() 100 | { 101 | 102 | for (int i = 0; i < this.count; ++i) 103 | { 104 | 105 | this.objects.Push(this.create_fn(this.original_object)); 106 | 107 | } 108 | 109 | } 110 | 111 | 112 | 113 | public T pop() 114 | { 115 | 116 | if (this.objects.Count <= 0) 117 | { 118 | 119 | allocate(); 120 | 121 | } 122 | 123 | 124 | 125 | return this.objects.Pop(); 126 | 127 | } 128 | 129 | 130 | 131 | public void push(T obj) 132 | { 133 | 134 | this.objects.Push(obj); 135 | 136 | } 137 | 138 | } -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/public/CGameObjectPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 89297c66eb7929946bd4193f96b55752 3 | timeCreated: 1444921865 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/public/CSingleton.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | public abstract class CSingletonMonobehaviour : MonoBehaviour where T : MonoBehaviour 5 | { 6 | static T instance; 7 | 8 | public static T Instance 9 | { 10 | get 11 | { 12 | if (null == instance) 13 | { 14 | instance = FindObjectOfType(typeof(T)) as T; 15 | if (null == instance) 16 | { 17 | //Debug.Log("Cannot find Manager Instance. Create a new one." + typeof(T).Name); 18 | GameObject obj = new GameObject(typeof(T).Name); 19 | instance = obj.AddComponent(); 20 | } 21 | } 22 | 23 | return instance; 24 | } 25 | } 26 | } 27 | 28 | 29 | public abstract class CSingleton where T : class, new() 30 | { 31 | static T instance; 32 | 33 | public static T Instance 34 | { 35 | get 36 | { 37 | if (instance == null) 38 | { 39 | instance = new T(); 40 | } 41 | 42 | return instance; 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/public/CSingleton.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3cd2ee57bcf517e49914ed4aed5f303a 3 | timeCreated: 1441966548 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/public/EasingUtil.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4cf833cce06dd7449b2d061b75ed45a 3 | timeCreated: 1445255945 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/public/MiniJSON.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 10b7befa4cfbed84aadbe285cc4c9038 3 | timeCreated: 1447161126 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/ui.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: de77ebffac31d3645bb92340167e0674 3 | folderAsset: yes 4 | timeCreated: 1502888628 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/ui/CBattleRoom.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9fdbc964bfc90e34c904ea858acc8259 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/ui/CButtonAction.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.UI; 5 | 6 | public class CButtonAction : MonoBehaviour { 7 | 8 | public int index { get; private set; } 9 | 10 | 11 | public void set(int index) 12 | { 13 | this.index = index; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/ui/CButtonAction.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e22f986ccf611b2458b9748ed957b1c6 3 | timeCreated: 1502892964 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/ui/CMainMenu.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 896ff2b4cea6a7e48aeba8ef880b39ab 3 | timeCreated: 1441962435 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/ui/CMapCollision.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | public class CMapCollision : MonoBehaviour { 5 | 6 | void Update() 7 | { 8 | if (Input.GetMouseButtonDown(0)) 9 | { 10 | RaycastHit hit; 11 | Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); 12 | 13 | if (Physics.Raycast(ray, out hit)) 14 | { 15 | GameObject target = hit.transform.gameObject; 16 | gameObject.SendMessage("on_touch_collision_area", target); 17 | } 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/ui/CMapCollision.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 613192355e168ca47938cf9e99198ec7 3 | timeCreated: 1443876597 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/ui/CPlayerGameInfoUI.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.UI; 5 | 6 | public class CPlayerGameInfoUI : MonoBehaviour { 7 | 8 | Text txt_score; 9 | Image img_face; 10 | Image img_me; 11 | Image img_turn; 12 | 13 | 14 | void Awake() 15 | { 16 | this.txt_score = transform.FindChild("score").GetComponent(); 17 | this.img_face = transform.FindChild("face").GetComponent(); 18 | this.img_me = transform.FindChild("me").GetComponent(); 19 | this.img_turn = transform.FindChild("turn").GetComponent(); 20 | } 21 | 22 | 23 | public void refresh_me(bool flag) 24 | { 25 | this.img_me.gameObject.SetActive(flag); 26 | } 27 | 28 | 29 | public void refresh_score(int score) 30 | { 31 | this.txt_score.text = score.ToString(); 32 | } 33 | 34 | 35 | public void refresh_turn(bool flag) 36 | { 37 | this.img_turn.gameObject.SetActive(flag); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/ui/CPlayerGameInfoUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a50cb90fb69744439f75955b35ab18e 3 | timeCreated: 1503067572 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /viruswar/client/Assets/viruswar/scripts/ui/CPopupCommon.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UI; 3 | using System.Collections; 4 | using System.Collections.Generic; 5 | using FreeNet; 6 | using GameServer; 7 | 8 | public class CPopupCommon : MonoBehaviour 9 | { 10 | System.Action callback = delegate { }; 11 | Text txt_msg; 12 | 13 | 14 | void Awake() 15 | { 16 | this.txt_msg = transform.FindChild("msg").GetComponent(); 17 | 18 | Transform button_ok = transform.FindChild("button_ok"); 19 | if (button_ok != null) 20 | { 21 | button_ok.GetComponent