Exemplo n.º 1
0
    public void SetUp(LocalPlayerProperty _data, int _i)
    {
        OnCreate?.Invoke(_i);

        rigid            = gameObject.GetComponent <Rigidbody2D>();
        listeners        = gameObject.GetComponent <PhysicsControlListeners>();
        actionController = gameObject.GetComponent <ActionController>();
        SetUpLocalEvent();
        dataIndex = _i;

        Head _newHead =
            Instantiate(
                Head.LoadHead(PlayerSlot.heads_res[(int)_data.playerProperty[CustomPropertyCode.HEAD_CDOE]].name).gameObject,
                head.transform.position,
                Quaternion.identity,
                head.transform.parent
                ).GetComponent <Head>();
        Body _newBody =
            Instantiate(
                //Body.LoadBody(_data.playerProperty[CustomPropertyCode.BODY_CODE] as string).gameObject,
                Body.LoadBody(PlayerSlot.body_res[(int)_data.playerProperty[CustomPropertyCode.BODY_CODE]].name).gameObject,
                body.transform.position,
                Quaternion.identity,
                body.transform.parent
                ).GetComponent <Body>();

        Destroy(head.gameObject);
        Destroy(body.gameObject);

        head = _newHead;
        body = _newBody;
        body.GetComponent <PlayerAttackControl>()._player = this;
        head.ApplyBuff();

        //********Set Keys *****************
        SetKey(_i);


        //set team Layer
        //gameObject.layer = LayerMask.NameToLayer("Player" + _data.playerProperty[CustomPropertyCode.TEAM_CODE]);
        gameObject.layer = LayerMask.NameToLayer("Player" + _data.playerProperty[CustomPropertyCode.TEAM_LAYER]);

        int _team_code = (int)_data.playerProperty[CustomPropertyCode.TEAM_CODE];

        Debug.Log("set Team color " + CustomPropertyCode.TEAMCOLORS[_team_code] + " " + _team_code);

        //set team color
        head.GetComponent <SpriteRenderer>().color = CustomPropertyCode.TEAMCOLORS[_team_code];
        body.GetComponent <SpriteRenderer>().color = CustomPropertyCode.TEAMCOLORS[_team_code];

        //Landing animation  (called by manager)
        //AddLanding();
        //Test:
        //AddRevive();
    }