Beispiel #1
0
    // Update is called once per frame
    void Update()
    {
        //DEV - REMOVE WHEN CODE IS IN TO ADD MESSAGES
        if (Input.GetKeyDown(KeyCode.Space))
        {
            AddCannister(Alert.possibleAlertSituations[0].answers[0]);
        }

        int canNum = visibleCannisterList.Count;

        for (int i = 0; i < canNum; i++)
        {
            Cannister can = visibleCannisterList[i];
            if (can.ejected)
            {
                for (int j = canNum - 1; j > i; j--)
                {
                    visibleCannisterList[j].GoDown(animOffset);
                }

                cannon.FireCannon(can.message);

                visibleCannisterList.Remove(can);
                AddCannister(new AlertAnswer(can.message.text, SITUATION_ENDING.EXPLOSION, new AlertResponseToAnswer()));
                break;
            }
            else if (can.outOfRange)
            {
                visibleCannisterList.Remove(can);
                AddCannister(new AlertAnswer(can.message.text, SITUATION_ENDING.EXPLOSION, new AlertResponseToAnswer()));
                can.Kill();
                break;
            }
        }
    }
Beispiel #2
0
    private float animOffset = 0.05f; //value in animation "time" in between two cans = distance between cans

    public void AddCannister(AlertAnswer message)
    {
        Cannister newCan      = Instantiate(cannisterPrefab, this.transform, true);
        float     canPosition = 0.6f;

        if (visibleCannisterList.Count > 0)
        {
            Cannister previousCan = visibleCannisterList[visibleCannisterList.Count - 1];
            float     slidePos    = previousCan.slidePos - animOffset;
            if (previousCan.goingDown > 0)
            {
                slidePos = previousCan.goingDownStart + animOffset * previousCan.goingDown - animOffset;
            }
            canPosition = Mathf.Min(0.6f - animOffset, slidePos);
        }
        newCan.Initialize(message, canPosition);
        visibleCannisterList.Add(newCan);
    }