Exemplo n.º 1
0
        protected override void Release()
        {
            if (IsKeyNode())
            {
                ViewFactory.ReleaseView(this);
            }

            m_next       = null;
            m_data       = null;
            m_playerData = null;
        }
Exemplo n.º 2
0
        public void Create(int index, PlayerData playerData, Transform container)
        {
            m_playerData = playerData;
            m_data       = playerData.snakeData;
            m_index      = index;

            if (IsKeyNode())
            {
                if (this is SnakeHead)
                {
                    ViewFactory.CreateView("snake/" + m_data.id + "/head", "snake/0/head", this, container);
                }
                else if (this is SnakeTail)
                {
                    ViewFactory.CreateView("snake/" + m_data.id + "/tail", "snake/0/tail", this, container);
                }
                else
                {
                    ViewFactory.CreateView("snake/" + m_data.id + "/node", "snake/0/node", this, container);
                }
            }
        }
Exemplo n.º 3
0
    void SpawnSnake(SnakeData snake)
    {
        GameObject snakeContainer = GetNPSnake(snake.name, snake.id);

        GameObject newHead = snakeContainer.transform.GetChild(0).gameObject;

        //Non player snakes follow their targets for lerping reasons
        Transform target = newHead.transform.GetChild(0);

        NPSnakeHead snakeHeadManager = newHead.GetComponent <NPSnakeHead>();

        newHead.transform.GetChild(1).gameObject.GetComponentInChildren <Text>().text = snake.name;

        snakeHeadManager.snakeData = snake;
        //Set all nessary data for new snake
        newHead.transform.GetComponent <SpriteRenderer>().color = snake.color;
        newHead.transform.position = snake.pos;
        //newHead.transform.up = snake.dir;
        target.position     = snake.pos;
        target.transform.up = snake.dir;


        //Spawn all body segments based on snake length
        for (int i = 0; i < snake.length - 1; i++)
        {
            GameObject newSegment = GetSegment(snakeContainer.transform);

            var newColor = snake.color;
            newColor.a = GlobalConsts.SEGMENT_TRANSPARINCY;
            newSegment.GetComponent <SpriteRenderer>().color        = newColor;
            newSegment.GetComponent <TrailRenderer>().colorGradient = GetGradient(snake.color);
            snakeHeadManager.segments.Add(newSegment);
        }

        snakeHeadManager.Resize();
        //Add the new snake created to the list of snakes
        npTargets.Add(snake.id, target);
    }
Exemplo n.º 4
0
 public SpawnNPSnake(SnakeData snake)
 {
     this.snake = snake;
 }
Exemplo n.º 5
0
 public SpawnNPSnake(byte [] snake)
 {
     this.snake = new SnakeData(snake);
 }