コード例 #1
0
ファイル: GameSave.cs プロジェクト: Zefalcon/NeuroProject
        public override bool Equals(object obj)
        {
            if (obj.GetType() == typeof(MuscleConnectionFile))
            {
                MuscleConnectionFile file = (MuscleConnectionFile)obj;
                if (!file.GetEnd().table.Equals(muscleTable))
                {
                    return(false);
                }
                if (!file.GetEnd().type.Equals(type))
                {
                    return(false);
                }
                if (!file.GetStart()[0].Equals(startTable))
                {
                    return(false);
                }
                if (!file.GetStart()[1].Equals(startSeat))
                {
                    return(false);
                }

                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #2
0
ファイル: GameSave.cs プロジェクト: Zefalcon/NeuroProject
    //Helper method to spawn muscle connections based on given connection file
    private static void SpawnConnection(MuscleConnectionFile file)
    {
        //Find start and end gameObjects
        GameObject start = null, end = null;

        foreach (NeuronDesignation nd in loadedPlayers)
        {
            //Find start
            if (nd.isGivenNeuron(file.GetStart()[0], file.GetStart()[1]))
            {
                start = nd.GetObject();
            }
        }
        foreach (Muscle m in muscles)
        {
            //Find end
            MuscleType type;
            if (m is SwingMuscle)
            {
                //What type?
                SwingMuscle swing = m as SwingMuscle;
                switch (swing.moveDirection)
                {
                case SwingMuscle.SwingFunction.Backward: {
                    type = MuscleType.Backward;
                    break;
                }

                case SwingMuscle.SwingFunction.Forward: {
                    type = MuscleType.Forward;
                    break;
                }

                default: {
                    //So we have something
                    type = MuscleType.Forward;
                    break;
                }
                }
            }
            else
            {
                //Stance muscle
                type = MuscleType.Stance;
            }

            if (m.table.Equals(file.GetEnd().table) && type.Equals(file.GetEnd().type))
            {
                end = m.gameObject;
            }
        }
        if (start && end)
        {
            GameObject player = NetworkManager.singleton.client.connection.playerControllers[0].gameObject;
            player.GetComponent <ConnectionManager>().MuscleConnection(start, end);
        }
    }