Пример #1
0
    void Load()
    {
        //ResourcesLoad
        _PrefabContent = Resources.Load <PrefabController>(_From); //MyMessageのリソーシズ
        var Sprite = Resources.Load <Sprite>("Image/icon1");       //MyMessageのアイコンの写真

        //Instantiate
        var Prefab = Instantiate <PrefabController>(_PrefabContent, Vector3.zero, Quaternion.identity, _ScrollViewContent.transform);

        Prefab.SetText(inputField.text); //MyMessageのプレハブに渡すテキスト
        Prefab.SetSprite(Sprite);        //MyMessageのプレハブに渡すスプライト

        Debug.Log("Load");
    }
Пример #2
0
    public override void trigger(Collider2D other)
    {
        if (object.ReferenceEquals(null, dilo))
        {
            return;
        }

        if (Dillo.version.Equals(Dillo.DiloVersion.Normal))
        {
            if (dilo.getDirection() == 0)
            {
                return;
            }
            Vector3 newPos = new Vector3(0, 0, 0);
            if (dilo.getDirection() == Dillo.DILO_DOWN)
            {
                newPos = new Vector3(transform.position.x, transform.position.y + PrefabController.TILESIZE + Dillo.DILO_INTERVAL, transform.position.z);
            }
            else if (dilo.getDirection() == Dillo.DILO_UP)
            {
                newPos = new Vector3(transform.position.x, transform.position.y - PrefabController.TILESIZE + Dillo.DILO_INTERVAL, transform.position.z);
            }
            else if (dilo.getDirection() == Dillo.DILO_LEFT)
            {
                newPos = new Vector3(transform.position.x + PrefabController.TILESIZE, transform.position.y + Dillo.DILO_INTERVAL, transform.position.z);
            }
            else if (dilo.getDirection() == Dillo.DILO_RIGHT)
            {
                newPos = new Vector3(transform.position.x - PrefabController.TILESIZE, transform.position.y + Dillo.DILO_INTERVAL, transform.position.z);
            }
            if (isBush)
            {
                newPos += new Vector3(0, -10, 0);
            }
            dilo.setPosition(newPos);
            AudioController.playSFX(AudioController.SFX.Bump);

            dilo.stop();
        }
        else
        {
            DestroyObject(this.gameObject);
            //Instantiate(TilePecah,transform.position,Quaternion.Euler(Vector3.zero));
            if (currWorld == 1)
            {
                PrefabController.addPrefab('n', transform.position - new Vector3(0, 10, 0));
            }
            //Instantiate(TileNormal,this.transform.position - new Vector3(0,10,0),Quaternion.Euler(new Vector3(0,0,0)));
        }
    }
Пример #3
0
        /// <summary>
        /// Transforms the prefabs.
        /// Only changes the guid's and fileIDs as the fields and classes should be exactly the same
        /// </summary>
        /// <param name="oldIDs"></param>
        /// <param name="newIDs"></param>
        /// <param name="originalProjectPath"></param>
        /// <param name="destinationProjectPath"></param>
        public static void TransformIDsOfPrefabs(List <ClassModel> oldIDs, List <ClassModel> newIDs,
                                                 string originalProjectPath, string destinationProjectPath)
        {
            List <PrefabModel>   exportPrefabs  = new PrefabController().ExportPrefabs(originalProjectPath);
            List <ScriptMapping> scriptMappings = new List <ScriptMapping>();

            IDController idController = new IDController();
            PrefabView   prefabView   = new PrefabView();

            foreach (PrefabModel prefab in exportPrefabs)
            {
                string[] parsedPrefab = idController.TransformIDs(prefab.Path, oldIDs, newIDs, ref scriptMappings);
                prefabView.SavePrefabFile(parsedPrefab, prefab, destinationProjectPath);
            }

            Debug.Log("Converted all prefabs to : " + destinationProjectPath);
        }
Пример #4
0
    void Load()
    {
        //ResourcesLoad
        _PrefabContent = Resources.Load <PrefabController>(_From);

        var Sprite = Resources.Load <Sprite>("Image/icon1"); //アイコンの写真



        //Instantiate
        var Prefab = Instantiate <PrefabController>(_PrefabContent, Vector3.zero, Quaternion.identity, _ScrollContent.transform);

        Prefab.SetText(inputField.text);
        Prefab.SetSprite(Sprite);       //インスタンス.PrefabControllerのSetSprite(スプライトのリソーシズ)


        Debug.Log("Load");
    }
Пример #5
0
    int _Loop = 0;                                                               //dicを何回繰り返したら?の時その数字はint型

    //④最初の処理(Start)
    void Start()
    {
        _SentButton.onClick.AddListener(OnClickSentButton); //送信ボタンのイベント登録

        if (inputField.text != "")                          //もし入力したテキストに何かしらの文字が入っていたら
        {
            OnClickSentButton();                            //OnClickSentButtonの処理を行って
        }

        Debug.Log("Start");      //スタート関数のデバッグログ表示

        //BotのDictionary
        dic.Add(0, "こんにちわ");
        dic.Add(1, "なに?");
        dic.Add(2, "へ〜");
        dic.Add(3, "それな");
        dic.Add(4, "無理w");


        _PrefabBotContent = Resources.Load <PrefabController>(_FromBot);   //Botのリソーシズ
        //Botのプレハブ(Object)はリソーシズでロードしてBotPrefabControllerからコンポーネントをアタッチしてUIを_FromBotから持ってくる
    }
Пример #6
0
    void GenerateTerrain()
    {
        RestartGame();
        terrainSize    = PrefabController.GetSize(PrefabController.Prefab.Terrain);
        halfRegionSize = terrainSize * 0.5f;
        TerrainGeneration terrain = PrefabController.CreateGameObject(PrefabController.Prefab.Terrain).GetComponent <TerrainGeneration>();

        terrain.Initialize(halfRegionSize);
        terrains.Add(TerrainPosition.Bot, terrain);
        float z             = terrains[TerrainPosition.Bot].Position.z + terrainSize.y;
        int   extraTerrains = (int)TerrainPosition.Count;

        for (int i = 1; i < extraTerrains; i++)
        {
            GameObject terrainClone = PrefabController.CreateGameObject(PrefabController.Prefab.Terrain);
            Vector3    position     = terrainClone.transform.position;
            position.z = z;
            terrainClone.transform.position = position;
            terrain = terrainClone.GetComponent <TerrainGeneration>();
            terrain.Initialize(halfRegionSize);
            terrains.Add((TerrainPosition)i, terrain);
            z += terrainSize.y;
        }
    }
Пример #7
0
 void Awake()
 {
     Instance = this;
 }
Пример #8
0
 void Awake()
 {
     instance           = this;
     curPrefabPositionX = startPrefabPositionX;
 }
Пример #9
0
        private void ProcessMessage(byte id, NetIncomingMessage message)
        {
            //Protokoll : [Byte], [Value], [Value], ...
            ClientData _client = clients[message.SenderEndPoint];

            switch (id)
            {
            case 0x0:     //positionupdate
                _client.MoveDir  = (MoveDirs)message.ReadInt32();
                _client.Rotation = new Vector3(message.ReadFloat(), message.ReadFloat(), message.ReadFloat());
                if (_client.WantsPredict)
                {
                    float movetime = message.ReadFloat();
                    if (movetime <= _client.moveTime)
                    {
                        if (debugMode)
                        {
                            Debug.Log("Client movetime mismatch! Client(" + _client.ID + "):" + movetime + "  -- " +
                                      _client.moveTime);
                        }
                    }
                }

                break;

            case 0x1:     //gamestate
                List <ClientData> _clients = (from client in clients
                                              where client.Value.ID != clients[message.SenderEndPoint].ID
                                              select client.Value).ToList();
                foreach (ClientData c in _clients)
                {
                    if (c.Connection == null)
                    {
                        continue;
                    }
                    PacketController.getInstance().SendPlayerList(c, clients[message.SenderEndPoint].Connection);
                }

                foreach (var netObject in netObjs.Values)
                {
                    PacketController.getInstance()
                    .SendNetworkObjectSpawn(netObject, clients[message.SenderEndPoint].Connection);
                }

                Debug.Log("Sent PLAYERLIST to " + clients[message.SenderEndPoint].ID);

                /*Takes me one step closer to the
                 * edge and I'm about to */
                break;

            case 0x3:     //statsUpdate
                short      defenderId = message.ReadInt16();
                ClientData defender   =
                    (from client in clients where client.Value.ID == defenderId select client.Value).ToList()[0];

                ClientData attacker = clients[message.SenderEndPoint];
                HealthController.getInstance().CalculatePlayerHitpoints(attacker, defender);

                foreach (ClientData client in clients.Values)
                {
                    PacketController.getInstance().SendPlayerHPUpdate(defender, client.Connection);
                }

                break;

            case 0x4:     //update animation
                ClientData animPlayer = clients[message.SenderEndPoint];
                animPlayer.AnimationState = (AnimationStates)message.ReadInt32();
                List <ClientData> _others = Utils.GetOtherClients(animPlayer, clients);

                foreach (ClientData c in _others)
                {
                    PacketController.getInstance().SendPlayerAnimationState(animPlayer, c.Connection);
                }

                break;

            case 0x5:     //chat event
                //TODO add chat controller and check message for different parameter
                //TODO add differenct chat channels
                //TODO make it possible to write a personal message to other players
                //TODO add commands
                foreach (ClientData rec in clients.Values)
                {
                    PacketController.getInstance().SendChatMessage(clients[message.SenderEndPoint], rec.Connection,
                                                                   message.ReadString());
                }

                break;

            case 0x6:     //team join
                int teamId = message.ReadInt32();
                if (TeamController.getInstance().AddToTeam(clients[message.SenderEndPoint], teamId))
                {
                    GameServerCycle.getInstance().SpawnPlayer(clients[message.SenderEndPoint]);
                }
                foreach (var receiver in clients.Values)
                {
                    PacketController.getInstance()
                    .SendPlayerTeamJoin(clients[message.SenderEndPoint], receiver.Connection);
                }

                break;

            case 0x7:     //farming
                short   interactEntityID = message.ReadInt16();
                Vector3 targetPos        = new Vector3(message.ReadFloat(), message.ReadFloat(), message.ReadFloat());

                if (netObjs.ContainsKey(interactEntityID) &&
                    Utils.CanInteract(clients[message.SenderEndPoint], targetPos))
                {
                    //TODO add multiple ressources and dont return on another prefab as tree
                    //TODO get a list of interactable types / mineable types
                    //TODO add a interact function to every type of entity and call the function of the networkobject
                    if (netObjs[interactEntityID].prefabType != PrefabTypes.TREE)
                    {
                        return;
                    }

                    Vector3 dropLocation = Utils.CalculateDropLocation(netObjs[interactEntityID].Position,
                                                                       (int)GameConstants.dropRange);

                    GameServerCycle.getInstance().DestroyNetObject(netObjs[interactEntityID]);
                    PrefabController.getInstance().SpawnPrefab(PrefabTypes.WOOD, dropLocation);
                }

                break;

            case 0x8:     //addItemRequest / pickup Item
                //TODO add picker
                //short pickerID = message.ReadInt16();
                short netId = message.ReadInt16();

                if (netObjs.ContainsKey(netId) &&
                    Utils.CanInteract(clients[message.SenderEndPoint], netObjs[netId].Position))
                {
                    //TODO move into own class as an interact event and check what happens if a player interacts with an item (pickup, destroy etc.)
                    //GameServerCycle.getInstance().DestroyNetObject(netObjs[netId].gameObject);
                    //var response = server.CreateMessage();
                    //response.Write((byte) PacketTypes.PICKUP);
                    //response.Write(netId);
                    //server.SendToAll(response, NetDeliveryMethod.ReliableUnordered);
                    //TODO check add inventory attribute to the clientdata
                }


                break;

            case 0x9:     //weapon change event
                _client.WeaponState = (WeaponStates)message.ReadInt32();

                if (debugMode)
                {
                    Debug.Log("Changed weapon of " + _client.ID + " to " + _client.WeaponState);
                }

                PacketController.getInstance().SendWeaponChange(_client);
                break;

            case 0x10:     //spawn
//                    netId = message.ReadInt16();
                break;

            case 0x11:     //attack request (spells, projectiles)

                PrefabController.getInstance().SpawnPrefab(PrefabTypes.ARROW, _client.Position);
                break;
            }
        }
Пример #10
0
    public static void complete()
    {
        if (isFinish)
        {
            return;
        }

        DestroyObject(dilo);
        int highscore = lvl.getScore();
        int curScore  = 0;

        //score langkah
        if (movesDone <= minMoves)
        {
            curScore += 200;
        }
        else if (movesDone <= minMoves + 2)
        {
            curScore += 100;
        }
        else
        {
            curScore += 50;
        }

        if (starCollected == 1)
        {
            curScore += 250;
        }
        else if (starCollected == 2)
        {
            curScore += 500;
        }
        else if (starCollected == 3)
        {
            curScore += 800;
        }


        GameObject result = PrefabController.addResultScreen();

        result.GetComponentInChildren <Score>().updateScore(curScore);

        if (curScore > highscore)
        {
            lvl.setMoves(movesDone);
            lvl.setStar(starCollected);
            lvl.setScore(curScore);
        }
        if (level < LevelSelection.numLevel)
        {
            GameData.setLevelData(world, level, lvl);
            GameData.unlockLevel(world, level + 1);
        }
        else
        {
            GameData.setLevelData(world, level, lvl);
            GameData.unlockLevel(world + 1, 1);
        }
        //GameData.SaveData();
        isFinish = true;
    }
 void Awake()
 {
     //Make singleton
     prefabController = this;
 }
Пример #12
0
 private void Awake()
 {
     _instance = this;
 }
Пример #13
0
 public override void trigger(Collider2D other)
 {
     DestroyObject(this.gameObject);
     PrefabController.addPrefab('w', transform.position);
     AudioController.playSFX(AudioController.SFX.IceBreak);
 }