Inheritance: WindowDetect
    public override void Start()
    {
        instance = this;
        if (GameWorldController.instance.AtMainMenu)
        {
            WindowDetectUW.SwitchFromMouseLook();
            //Initialize the open screens from the game files
            switch (_RES)
            {
            case GAME_UW2:
                OpScr.GetComponent <RawImage>().texture = GameWorldController.instance.bytloader.LoadImageAt(BytLoader.UW2MAIN_BYT);
                break;

            default:
                OpScr.GetComponent <RawImage>().texture = GameWorldController.instance.bytloader.LoadImageAt(BytLoader.OPSCR_BYT);

                break;
            }
            CharGen.GetComponent <RawImage>().texture = GameWorldController.instance.bytloader.LoadImageAt(BytLoader.CHARGEN_BYT);

            CursorIcon     = GameWorldController.instance.grCursors.LoadImageAt(0);
            CursorPosition = new Rect(
                0.0f,
                0.0f,
                cursorSizeX,
                cursorSizeY);
            //Play the splash screens.
            CharGen.SetActive(false);
            UWHUD.instance.CutScenesFull.SetAnimationFile = "FadeToBlackSleep";
            UWHUD.instance.CutScenesFull.End();
            Cutscene_Splash ci = UWHUD.instance.gameObject.AddComponent <Cutscene_Splash>();
            UWHUD.instance.CutScenesFull.cs = ci;
            UWHUD.instance.CutScenesFull.Begin();
        }
    }
Beispiel #2
0
    public virtual ObjectInteraction Pickup(ObjectInteraction objPicked, PlayerInventory pInv)
    {    //completes the pickup.
        //FIELD PICKUP objPicked.PickedUp=true;
        if (objPicked.GetComponent <Container>() != null)
        {
            Container.SetPickedUpFlag(objPicked.GetComponent <Container>(), true);
            Container.SetItemsParent(objPicked.GetComponent <Container>(), GameWorldController.instance.InventoryMarker.transform);
            Container.SetItemsPosition(objPicked.GetComponent <Container>(), GameWorldController.instance.InventoryMarker.transform.position);
        }
        //UWHUD.instance.CursorIcon=objPicked.GetInventoryDisplay().texture;
        pInv.ObjectInHand = objPicked;
        if (objPicked.GetComponent <Rigidbody>() != null)
        {
            FreezeMovement(objPicked.gameObject);
        }

        objPicked.transform.position = GameWorldController.instance.InventoryMarker.transform.position;
        objPicked.transform.parent   = GameWorldController.instance.InventoryMarker.transform;
        GameWorldController.MoveToInventory(objPicked);
        pInv.ObjectInHand = objPicked;
        objPicked.Pickup();
        if (WindowDetectUW.ContextUIEnabled)
        {
            if (MouseLookEnabled)
            {
                WindowDetectUW.SwitchFromMouseLook();
            }
        }
        return(objPicked);
    }
Beispiel #3
0
 public override void Update()
 {
     base.Update();
     if (UpdateNow == true)
     {
         UpdateNow = false;
         WindowDetect.ContextUIUse = ((UWCharacter.InteractionModeTalk == UWCharacter.InteractionMode) || (UWCharacter.InteractionModePickup == UWCharacter.InteractionMode) || (UWCharacter.InteractionModeUse == UWCharacter.InteractionMode));    //Only context in use or pickup
         for (int i = 1; i <= 5; i++)
         {
             if (i != UWCharacter.InteractionMode)
             {                //Off version
                 //Controls[i].texture= lfti.LoadImageAt((i*2));
                 SetImage(ref Controls[i], i * 2);
             }
             else
             {                //On Version
                 //Controls[i].texture= lfti.LoadImageAt(((i*2)+1));
                 SetImage(ref Controls[i], (i * 2) + 1);
             }
         }
         if (UWCharacter.InteractionMode == UWCharacter.InteractionModeOptions)
         {
             if (UWCharacter.Instance.MouseLookEnabled)
             {
                 WindowDetectUW.SwitchFromMouseLook();
             }
             OptionsMenu.gameObject.SetActive(true);
             OptionsMenu.initMenu();
             this.gameObject.SetActive(false);
         }
     }
 }
    void PostAnimPlay()
    {            //Code to call at the end of some animations.
        switch (SetAnimation.ToLower())
        {
        case "death_with_sapling":                        //Player will resurrect,
        case "cs402.n01":
        {
            SetAnimation = "Anim_Base";
            //Clears out the animation.
            PrevAnimation = "x";
            UWCharacter.ResurrectPlayer();
            break;
        }

        case "death":                        //PLayer is dying and will not resurrect.
        case "cs403.n01":
            SetAnimation = "cs403.n02";
            break;

        case "death_final":                        //Player has finally died.
        case "cs403.n02":
            SetAnimation = "Anim_Base";
            GameWorldController.instance.AtMainMenu = true;
            //Clear out game objects
            foreach (Transform child in GameWorldController.instance.LevelModel.transform)
            {
                GameObject.Destroy(child.gameObject);
            }
            foreach (Transform child in GameWorldController.instance.DynamicObjectMarker())
            {
                GameObject.Destroy(child.gameObject);
            }
            foreach (Transform child in GameWorldController.instance.SceneryModel.transform)
            {
                GameObject.Destroy(child.gameObject);
            }
            for (int x = 0; x <= GameWorldController.instance.Tilemaps.GetUpperBound(0); x++)
            {
                GameWorldController.instance.Tilemaps[x] = null;
            }
            for (int x = 0; x <= GameWorldController.instance.objectList.GetUpperBound(0); x++)
            {
                GameWorldController.instance.objectList[x] = null;
            }
            MainMenuHud.instance.gameObject.SetActive(true);
            MainMenuHud.instance.MenuMode = 0;
            MainMenuHud.instance.OpScr.SetActive(true);
            MainMenuHud.instance.CharGen.SetActive(false);
            MainMenuHud.instance.ButtonClickMainMenu(4);                                    //reset menu
            GameWorldController.instance.LevelNo = -1;
            WindowDetectUW.SwitchFromMouseLook();
            break;

        default:
            UWCharacter.Instance.playerCam.cullingMask = HudAnimation.NormalCullingMask;
            SetAnimation = "Anim_Base";
            break;
        }
    }
Beispiel #5
0
	public void GotoMainMenu()
	{
		GameWorldController.instance.AtMainMenu=true;
		//Clear out game objects
		foreach (Transform child in GameWorldController.instance.LevelModel.transform) {
				GameObject.Destroy(child.gameObject);
		}
		foreach (Transform child in GameWorldController.instance.DynamicObjectMarker()) {
				GameObject.Destroy(child.gameObject);
		}
		foreach (Transform child in GameWorldController.instance.SceneryModel.transform) {
				GameObject.Destroy(child.gameObject);
		}
		MainMenuHud.instance.gameObject.SetActive(true);
		MainMenuHud.instance.MenuMode=0;
		MainMenuHud.instance.OpScr.SetActive(true);
		MainMenuHud.instance.CharGen.SetActive(false);
		MainMenuHud.instance.ButtonClickMainMenu(4);//reset menu
		WindowDetectUW.SwitchFromMouseLook();
		return;	
	}
    public int item_type;    //The type of the object created

    public override void ExecuteTrap(int triggerX, int triggerY, int State)
    {
        //Debug.Log ("an arrow trap has gone off. It will spawn a " + item_index + " of type " + item_type + " along vector " + this.gameObject.transform.rotation);
        GameObject myObj = new GameObject("SummonedObject_" + playerUW.PlayerMagic.SummonCount++);

        myObj.layer = LayerMask.NameToLayer("UWObjects");
        myObj.transform.position = this.transform.position;
        myObj.transform.rotation = this.transform.rotation;
        //myObj.transform.parent=playerUW.playerInventory.InventoryMarker.transform;
        ObjectInteraction.CreateObjectGraphics(myObj, "Sprites/OBJECTS_" + item_index, true);
        ObjectInteraction.CreateObjectInteraction(myObj, 0.5f, 0.5f, 0.5f, 0.5f, "Sprites/OBJECTS_" + item_index.ToString("000"), "Sprites/OBJECTS_" + item_index.ToString("000"), "Sprites/OBJECTS_" + item_index, item_type, item_index, 0, objInt.Quality, objInt.Owner, 1, 1, 0, 1, 0, 0, 0, 1);
        myObj.AddComponent <object_base>();

        //Vector3 ThrowDir;// =myObj.transform.position + (myObj.transform.rotation.eulerAngles.normalized);
        WindowDetectUW.UnFreezeMovement(myObj);
        //ThrowDir = myObj.transform.position + (myObj.transform.forward);
        //Debug.Log (objInt.transform.name + " " + myObj.transform.position  + " to " + ThrowDir + " via " + myObj.transform.rotation.eulerAngles.normalized);
        //myObj.GetComponent<Rigidbody>().AddForce(ThrowDir* 10.0f);
        myObj.GetComponent <Rigidbody>().collisionDetectionMode = CollisionDetectionMode.Continuous;
        myObj.GetComponent <Rigidbody>().AddForce(myObj.transform.forward * 50.0f * ((float)(objInt.Owner)));

        //myObj.transform.position=ThrowDir;
    }
    public static void CreateObjectInteraction(GameObject myObj, GameObject parentObj, float DimX, float DimY, float DimZ, float CenterY, string WorldString, string InventoryString, string EquipString, int ItemType, int ItemId, int link, int Quality, int Owner, int isMoveable, int isUsable, int isAnimated, int useSprite, int isQuant, int isEnchanted, int flags, int inUseFlag)
    {
        //Debug.Log (myObj.name);
        //Add a script.
        ObjectInteraction objInteract = myObj.AddComponent <ObjectInteraction>();

        BoxCollider box = myObj.GetComponent <BoxCollider>();

        if ((box == null) && (myObj.GetComponent <NPC>() == null) && (isUsable == 1))
        {
            //add a mesh for interaction
            box        = myObj.AddComponent <BoxCollider>();
            box.size   = new Vector3(0.2f, 0.2f, 0.2f);
            box.center = new Vector3(0.0f, 0.1f, 0.0f);
            if (isMoveable == 1)
            {
                box.material = Resources.Load <PhysicMaterial>("Materials/objects_bounce");
            }
        }

        objInteract.WorldDisplayIndex = int.Parse(WorldString.Substring(WorldString.Length - 3, 3));
        objInteract.InvDisplayIndex   = int.Parse(InventoryString.Substring(InventoryString.Length - 3, 3));

        if (isUsable == 1)
        {
            objInteract.CanBeUsed = true;
        }

        //SpriteRenderer objSprite =  myObj.transform.FindChild(myObj.name + "_sprite").GetComponent<SpriteRenderer>();
        //		SpriteRenderer objSprite =  parentObj.GetComponentInChildren<SpriteRenderer>();

        //		objInteract.WorldString=WorldString;
        //		objInteract.InventoryString=InventoryString;
        objInteract.EquipString = EquipString;
        //objInteract.InventoryDisplay=InventoryString;
        objInteract.ItemType = ItemType;   //UWexporter id type
        objInteract.item_id  = ItemId;     //Internal ItemID
        objInteract.Link     = link;
        objInteract.Quality  = Quality;
        objInteract.Owner    = Owner;
        objInteract.flags    = flags;
        if (inUseFlag == 1)
        {
            objInteract.InUse = true;
        }



        if (isMoveable == 1)
        {
            objInteract.CanBePickedUp = true;
            Rigidbody rgd = parentObj.AddComponent <Rigidbody>();
            rgd.angularDrag = 0.0f;
            WindowDetectUW.FreezeMovement(myObj);
        }

        if (ItemType != ObjectInteraction.ANIMATION)
        {
            if (isAnimated == 1)
            {
                objInteract.isAnimated = true;
            }

            if (useSprite == 1)
            {
                objInteract.ignoreSprite = false;
            }
            else
            {
                objInteract.ignoreSprite = true;
            }
        }
        else
        {
            objInteract.ignoreSprite = true;
        }
        if (isQuant == 1)
        {
            objInteract.isQuant = true;
        }
        if (isEnchanted == 1)
        {
            objInteract.isEnchanted = true;
            Debug.Log(myObj.name + " is enchanted. Take a look at it please.");
        }
    }