コード例 #1
0
    void Start()
    {
        mySubmarine       = GameObject.FindGameObjectWithTag("Submarine");
        mySubmarineScript = mySubmarine.GetComponent <SubmarineAIHelper>();

        if (lineOrientation != null)
        {
            lineOrientation.positionCount = 2;
        }

        orientationStart = transform.position;
        orientationEnd   = orientationStart;
        vision           = 0;
        chaseSpeed       = 1.4f;
        wandering        = false;
    }
コード例 #2
0
    public override void OnStateEnter()
    {
        mySubmarine = (SubmarineAIHelper)GameObject.Find("Submarine").GetComponent <SubmarineAIHelper>();


        if (mySubmarine != null)
        {
            float internalRadious = mySubmarine.internalRadius;
            float externalRadious = mySubmarine.externalRadius;

            float randomRadious = UnityEngine.Random.Range(internalRadious, externalRadious);
            float randomAngle   = UnityEngine.Random.Range(0, 360);

            Vector3 randomPos = new Vector3(
                mySubmarine.transform.position.x + randomRadious * (float)Math.Cos(Math.PI / 180.0),
                0,
                mySubmarine.transform.position.z + randomRadious * (float)Math.Sin(Math.PI / 180.0));


            monster.transform.position = randomPos;

            monster.setState(new UnAware(monster, Vector3.zero));
        }
    }