Пример #1
0
 protected override void OnStart()
 {
     if (!IsActive)
     {
         if (lastAttacker != null)
         {
             XpComponent xp = lastAttacker.gameObject.GetComponent <XpComponent>();
             if (xp != null)
             {
                 xp.ReceiveXp((1000 * Unit.UnitData.Level));
             }
         }
         Unit.Physics.SwitchToRagdoll();
     }
 }
Пример #2
0
    public static GameObject Spawn(GameObject parentObject)
    {
        //Common
        HeroData heroData = Main.GameState.CurrentHeroData;

        if (heroData == null)
        {
            return(null);
        }

        var playerObject = new GameObject("Player");

        playerObject.transform.localPosition = Vector3.zero;
        playerObject.transform.parent        = parentObject.transform;
        playerObject.tag   = "Player";
        playerObject.layer = 9;

        UnitData unitData = new UnitData(heroData.UnitData);
        //unitData.Inventory.Add(MainData.Game.GetItem("Dagger"));
        //unitData.Inventory.Equip("Dagger");
        Unit unit = UnitSpawner.SpawnUnit(playerObject, unitData);

        //Components to be initialized
        PlayerController controller = playerObject.GetComponent <PlayerController>();
        XpComponent      xp         = playerObject.GetComponent <XpComponent>();

        if (controller == null)
        {
            controller = playerObject.AddComponent <PlayerController>();
        }
        controller.MainAttack = unit.Skills[0];
        unit.ActiveController = controller;

        if (xp == null)
        {
            xp = playerObject.AddComponent <XpComponent>();
        }

        playerObject.AddComponent <PlayerWorldUI>();

        return(playerObject);
    }