示例#1
0
    /// <summary>
    /// 生成新的地板
    /// </summary>
    public void GreatMapFloor()
    {
        GameObject tmp_Floor = null;

        if (floors.Count > 0)
        {
            tmp_Floor = floors[0];
            //tmp_Floor.SetActive(true);
            tmp_Floor.transform.position = guideObj.transform.position;
            tmp_Floor.transform.rotation = guideObj.transform.rotation;
            floors.RemoveAt(0);
        }
        else
        {
            tmp_Floor = Instantiate(mapFloor, guideObj.transform.position, guideObj.transform.rotation) as GameObject;
        }
        nowFloors.Add(tmp_Floor);
        FloorCollider tmp_FloorCollider = tmp_Floor.GetComponent <FloorCollider>();

        tmp_FloorCollider.ChangeChildrensPos();
        tmp_FloorCollider.number = floorNumber;             //编号赋值
        floorNumber++;
        guideObj.transform.position += guideObj.transform.forward;
        tmpFloors.Add(tmp_FloorCollider);
    }
示例#2
0
    public void TmpInit(FloorCollider tmpFloor)
    {
        int nowIndex = 0;                   //当前物体列表中的索引

        foreach (var floor in tmpFloors)
        {
            if (floor.number == tmpFloor.number)
            {
                nowIndex = tmpFloors.IndexOf(floor);
            }
        }

        for (int i = nowIndex; i >= 0; i--)
        {
            SetGreatMap();
            InitFloor();
            FloorCollider tmp_FloorCollider = tmpFloors[0];
            StartCoroutine(tmp_FloorCollider.Init());
            if (tmp_FloorCollider.nowTag == NameTag.FloorTag)
            {
                floors.Add(tmp_FloorCollider.gameObject);
            }
            else if (tmp_FloorCollider.nowTag == NameTag.RotaTag)
            {
                rotaFloors.Add(tmp_FloorCollider.gameObject);
            }
            else
            {
                trapFloors.Add(tmp_FloorCollider.gameObject);
            }
            tmpFloors.RemoveAt(0);
        }
    }
示例#3
0
    // Use this for initialization
    void Start()
    {
        if (PlayerNumber < 1 || PlayerNumber > 4)
        {
            Debug.LogError("Don't do that again. -- Victor");
        }

        movementController  = GetComponent <MovementController>();
        jumpThrowController = GetComponent <JumpThrowController>();
        attackController    = GetComponent <AttackController>();
        landingLogic        = GetComponent <LandingLogic>();
        rigid = GetComponent <Rigidbody>();
        floor = GetComponentInChildren <FloorCollider>();

        Transform indicatorTransform = transform.Find("Indicator");

        if (indicatorTransform == null)
        {
            Debug.LogError("Please attach an Indicator to the player (both human and robot)!");
        }
        else
        {
            indicator = indicatorTransform.gameObject;
        }

        startPosition = transform.position;
    }
示例#4
0
 /// <summary>
 /// 从动画列表取出一个物体进行动画还原
 /// </summary>
 public void InitFloor()
 {
     if (nowFloors.Count > 0)
     {
         FloorCollider tmp_FloorCollider = nowFloors[0].GetComponent <FloorCollider>();
         tmp_FloorCollider.isInit = true;
         tmp_FloorCollider.InitChildrenPos();
         nowFloors.RemoveAt(0);
     }
 }
示例#5
0
    /// <summary>
    /// 生成转向地板
    /// </summary>
    public void GreatRotaFloor()
    {
        GameObject    rotaObj;
        FloorCollider tmp_FloorColider = null;

        guideObj.transform.position += guideObj.transform.forward;
        if (rotaFloors.Count > 0)           //保存的列表当中有进行取出操作
        {
            rotaObj = rotaFloors[0];
            //rotaObj.SetActive(true);
            tmp_FloorColider           = rotaObj.GetComponent <FloorCollider>();
            tmp_FloorColider.nowTag    = NameTag.RotaTag;       //转向标识
            rotaObj.transform.position = guideObj.transform.position;
            rotaObj.transform.rotation = guideObj.transform.rotation;
            tmp_FloorColider.isInit    = true;
            tmp_FloorColider.ChangeChildrensPos();
            rotaFloors.RemoveAt(0);
        }
        else
        {
            rotaObj                 = Instantiate(rotaFloor, guideObj.transform.position, guideObj.transform.rotation);
            tmp_FloorColider        = rotaObj.GetComponent <FloorCollider>();
            tmp_FloorColider.nowTag = NameTag.RotaTag;          //转向标识
            tmp_FloorColider.ChangeChildrensPos();
        }

        int rotaModel = Random.Range(1, 3);

        if (rotaModel == 1)             //左转向
        {
            guideObj.transform.Rotate(Vector3.up, -90f);
            guideObj.transform.position += guideObj.transform.forward * 2;
        }
        else                            //右转向
        {
            guideObj.transform.Rotate(Vector3.up, 90f);
            guideObj.transform.position += guideObj.transform.forward * 2;
        }
        nowFloors.Add(rotaObj);                //将这个物体添加进待处理列表
        tmp_FloorColider.number = floorNumber; //编号赋值
        floorNumber++;
        tmpFloors.Add(tmp_FloorColider);
    }
 // Use this for initialization
 void Start()
 {
     floorCollider = FindObjectOfType <FloorCollider>();
 }
示例#7
0
 // Use this for initialization
 void Start()
 {
     spriteR       = GetComponent <SpriteRenderer>();
     floorCollider = FindObjectOfType <FloorCollider>();
     pz            = FindObjectOfType <PuzzleSolution>();
 }
示例#8
0
 private void Start()
 {
     floorCollider = FindObjectOfType <FloorCollider>();
     openTrap      = FindObjectOfType <OpenTrap>();
 }
示例#9
0
 // Use this for initialization
 void Start()
 {
     floorCollider = FindObjectOfType <FloorCollider>();
     openTrap      = FindObjectOfType <OpenTrap>();
     confirmLight  = FindObjectOfType <ConfirmationLight>();
 }
示例#10
0
 // Use this for initialization
 void Start()
 {
     floorCollider  = FindObjectOfType <FloorCollider>();
     puzzleSolution = FindObjectOfType <PuzzleSolution>();
 }