Ejemplo n.º 1
0
        void InitProxy()
        {
            Destroy(movement); movement = null;
            Destroy(fire); fire         = null;
            Destroy(damage); damage     = null;
            Destroy(boosterController); boosterController = null;
            Destroy(rigidBody); rigidBody   = null;
            Destroy(collider2d); collider2d = null;

            // Replace PlayerName
            PlayerName = ScriptableObject.CreateInstance <StringVariable>();
            GetComponentInChildren <TextReplacer>().Variable = PlayerName;

            // Replace IsDead
            proxy.IsDead    = ScriptableObject.CreateInstance <BoolVariable>();
            IsDead.Variable = proxy.IsDead;

            // Replace WalkSpeed
            movement.WalkSpeed          = ScriptableObject.CreateInstance <FloatVariable>();
            boosterController.WalkSpeed = movement.WalkSpeed;

            // Replace Dash Rate
            movement.DashRate          = ScriptableObject.CreateInstance <FloatVariable>();
            boosterController.DashRate = movement.DashRate;

            // Replace FireRate
            weaponController.FireRate = ScriptableObject.CreateInstance <FloatVariable>();
            fire.FireRate.Variable    = weaponController.FireRate;
        }
Ejemplo n.º 2
0
        void Awake()
        {
            PV                = GetComponent <PhotonView>();
            proxy             = GetComponent <CharacterProxy>();
            movement          = GetComponent <CharacterMovement>();
            fire              = GetComponent <CharacterFire>();
            damage            = GetComponent <CharacterDamage>();
            boosterController = GetComponent <BoosterController>();
            weaponController  = GetComponent <WeaponController>();
            rigidBody         = GetComponent <Rigidbody2D>();
            collider2d        = GetComponent <Collider2D>();

            if (PV.IsMine)
            {
                InitLocal();
            }
            else
            {
                InitProxy();
            }

            PlayerName.Value = PV.Owner.NickName;
            NameChangeEvent.Raise();

            isAlreadyDead = false;
        }